基础命令
free -h
:查看内存使用情况,buff/cache
列显示缓存占用。vmstat -s
:显示内存、缓存、交换分区等详细统计。cat /proc/meminfo
:查看 Cached
(页面缓存)、Buffers
(缓冲区缓存)等具体值。top/htop
:实时监控内存使用,Mem
行包含缓存数据。专业工具
dstat -m
:动态监控内存、缓存、交换分区。slabtop
:查看内核 slab 缓存(如 dentry、inode 缓存)的使用情况。iostat -x
:监控磁盘 I/O 与缓存相关的读写延迟。调整内核参数
vm.swappiness
:控制内存不足时交换到磁盘的倾向(0-100,值越小越依赖内存),默认 60,可设为 10-20 减少交换。vm.vfs_cache_pressure
:调整内核回收页面缓存的倾向(默认 100,值越大回收越积极),可设为 50-100 优化缓存利用率。vm.dirty_ratio
/vm.dirty_background_ratio
:控制脏页比例(默认 20/10),降低可减少磁盘写入频率。手动缓存管理
sync; echo 3 > /proc/sys/vm/drop_caches
(谨慎使用,仅限测试环境)。cgcreate
+ memory.limit_in_bytes
)。优化缓存策略
prefetch
)提升命中率。swappiness
,低峰期清理缓存。参考来源:[1,2,3,4,5,6,7,8,9,10,11]