linux cached过高导致性能变低

Posted -renyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux cached过高导致性能变低相关的知识,希望对你有一定的参考价值。

场景:

拿到了客户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过高导致性能变低的主要内容,如果未能解决你的问题,请参考以下文章

linux 性能优化-- cpu 切换以及cpu过高

排查linux下java应用cpu占用过高

性能分析- 软中断导致 CPU 使用率过高的案例

Redis变慢了(八) - 网卡负载过高

对Page Cache操作不当产生的业务性能下降

使用Django.core.cache操作Memcached导致性能不稳定的分析过程