Linux缓存大小主要由内核自动管理,通常无需手动设置,若需调整可通过以下方式:
free
命令:free -h
可查看缓存(含缓冲区)占用情况。/proc/meminfo
:cat /proc/meminfo | grep -E "Cached|Buffers"
可获取详细缓存信息。vmstat -s
、iostat -x
可间接反映缓存使用情况。临时调整:通过sysctl -w
命令修改内核参数,如:
vm.vfs_cache_pressure
:控制内核回收缓存的倾向,值越小越倾向于保留缓存(默认100)。vm.dirty_ratio
/vm.dirty_background_ratio
:控制脏页(未写入磁盘的数据)比例,影响写入策略。vm.swappiness
:控制内存不足时使用交换空间的倾向,值越低越倾向于保留内存缓存(默认60)。
示例:sudo sysctl -w vm.vfs_cache_pressure=50
。永久调整:修改/etc/sysctl.conf
文件,添加参数后执行sudo sysctl -p
使生效。