page cache释放

1、需要确认问题是否由page cache释放引起,可以通过atop观察问题前后,cache大小是否发生变化;也可以通过/proc/vmstat中drop_pagecache(手动下刷的次数统计)、pgscan_direct(直接回收的内存)和pascan_kswap。

2、内存申请原理,有空闲内存时,直接申请内存;当剩余内存不足时,先后台释放,如果后台释放的内存不足,再通过释放clean状态的cache来获取内存(低耗时);如果还是内存不足,则通过释放dirty内存(刷盘)来释放内存,此延迟最高。

3、因此,避免出现内存不足,需要通过dropcache来释放内存,是解决问题的有效手段,可以通过调整/proc/sys/vm/min_free_kbytes来提前回收内存,避免内存不足。

4、cache占用量和dirty参数相关,调大会产生大量cache,同时也会合并IO,减少磁盘IO请求次数,提升性能。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容