# sync #将缓存数据写入到磁盘中 ##多执行几次
# echo 1 > /proc/sys/vm/drop_caches #清空页缓存
# echo 2 > /proc/sys/vm/drop_caches #清空inode和目录树缓存
# echo 3 > /proc/sys/vm/drop_caches #清空所有缓存
以上方法只是当时起作用
修改 /etc/sysctl.conf
文件
通过sysctl -w vm.vfs_cache_pressure=500
调整文件系统缓存的压力。
看了网上不同的版本,vfs_cache_pressure取值范围有人说是0-100,其实不对,应该是0-1000。
查了一下资料,分别是Oracle的https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/global_file_system_2/s1-usage-gfs2#s2-vfstuning-gfs2
另一个是Linux核心文档https://www.kernel.org/doc/html/latest/admin-guide/sysctl/vm.html#vfs-cache-pressure
因此上,调大vfs_cache_pressure参数可以使内核更倾向于回收 dentry 和 inode。从而减少内存的占用,降低buff/cache。