码迷,mamicode.com
首页 > 系统相关 > 详细

linux cached过高导致性能变低

时间:2019-05-22 12:46:57      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:fir   operation   des   free   this   img   图片   inode   服务   

场景:

拿到了客户50个文件,平均每个文件大概40M左右的txt,文件在S3上,需要导入到数据库,40M解析出来大概是80W条左右的数据。

描述:

在刚开始执行导入时,因为数据验证复杂程度不同,每个文件耗时大概6到9分钟,执行到第20个文件之后,效率明显变低,执行到第

35个文件时free查看内存使用情况used已经占用到了15G(服务器内存16G),发现cached非常之高竟然有13G之多。

解决:

因为每个文件用过之后就不会再用,实际上缓存了文件对于目前的场景来说并没有什么实质性帮助,反而会极大幅度影响性能,所以手动

释放内存 echo 3 > /proc/sys/vm/drop_caches

drop_caches的值说明:
* 1 > To free dentries and inodes:
* 2 > To free pagecache, dentries and inodes:
* 3 > As this is a non-destructive operation, and dirty objects are notfreeable, the user should run "sync" first in order to make sure allcached objects are freed.

释放之后性能回复到初始的情况,导入性能问题解决。

释放之后的截图(没有时间重现释放之前的情况再截图了,不好意思):

技术图片

 

 

 如果大家有什么不解,或意见,欢迎在下方留言,楼主看到就会回复的,谢谢。

linux cached过高导致性能变低

标签:fir   operation   des   free   this   img   图片   inode   服务   

原文地址:https://www.cnblogs.com/-renyu/p/10905214.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!