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使生效。