在使用linux服务器期间,由于linux使用内存原理来尽可能多地缓存,因此pagecache会占用大量内存。
suse的版本具有pagecachelimit函数,在centos中看不到。即使将此功能集成到centos中,您也会发现该设置无效。
cat /proc/sys/vm/pagecache_limit_mb0
1.将0更改为相应的值,例如12000,限制为120G,让我们看看为什么相应内核中的算法无法生效,
总页面缓存> 8 * free_pages + pagecache_limit_mb
该算法的关键是确定页面缓存限制是否触发恢复。当页面缓存设置为某个值时,系统不会直接使用该值作为判断标志,而是会添加自由限制。
从这个意义上讲,因为设置的pagecache_limit_mb相对较小,但是当有很多空闲空间时,触发此条件会更加困难。那么,增加回收利用的其他方法是什么?下面介绍了读写的两个方面。
2.是通过修改两个参数/ proc / sys / vm / dirty_background_ration和/ proc / sys / vm / dirty_ratio的大小来实现回收的。
此方案适用于大量写入:vm.dirty_background_ratio:此参数指定文件系统缓存中的脏页数何时达到系统内存的百分比(例如5%),pdflush / flush / kdmflush将被触发等待后台写回进程运行,并异步将某些缓存的脏页刷新到设备;
vm.dirty_ratio:并且此参数指定文件系统缓存的脏页数达到系统内存百分比(例如10%)时,系统必须开始处理脏页(因为脏页数为了避免