在 CentOS(以及一般 Linux 系统)里,“缓存”通常包含几类:page cache / buffer cache(文件系统缓存)、应用层缓存(如 Redis、Nginx)、DNS 缓存、yum/dnf 缓存等。下面按常见诊断场景给你一个实用清单。
free -h
或
cat /proc/meminfo
重点关注:
Cached:文件缓存Buffers:块设备缓存Available:真正可用内存vmstat 1
看:
cachebuffsi/so(swap 进出,异常说明内存压力)yum install perf
perf top
或
slabtop
看内核对象缓存(如 dentry、inode)
sync
echo 3 > /proc/sys/vm/drop_caches
iostat -x 1
r/s, w/sawait, %utiliotop
确认是否频繁读盘(缓存未命中)
grep proxy_cache /etc/nginx/nginx.conf
检查:
proxy_cache_pathproxy_cache_validX-Cache 响应头(HIT / MISS)redis-cli info memory
redis-cli info stats
重点:
keyspace_hits / missesused_memoryevicted_keysCentOS 7/8 常用:
systemd-resolve --statistics
或
systemctl status dnsmasq
yum clean all
yum makecache
或
dnf clean all
dnf makecache
✅ 内存高但系统不卡
→ 正常,Linux 会利用空闲内存做缓存
✅ 频繁 swap
→ 缓存过多或内存不足
✅ 读磁盘很慢但 CPU 闲
→ 缓存未命中
✅ 服务返回旧数据
→ 应用层缓存未失效
我可以给你针对性的命令或排查脚本。