centos

centos缓存如何排查问题

小樊
41
2025-12-27 03:14:19
栏目: 智能运维

CentOS 缓存问题排查与定位

一、先明确缓存类型与影响

二、快速排查路径

  1. 资源与内核缓存概览
    • 查看内存与缓存:free -hvmstat 1、必要时 iostat -x 1;观察 availablebuff/cache、si/so、wa 等指标是否异常。
    • 查看内核缓存与脏页:cat /proc/vmstat(如 nr_dirty、nr_writeback)、必要时检查 /proc/sys/vm/dirty_ratio、dirty_background_ratio、vfs_cache_pressure 等参数。
  2. 磁盘占用与大目录
    • 看总体占用:df -h;定位大目录:du -sh /var /usr /opt /home 2>/dev/null | sort -hr | head,进一步进入子目录逐级排查。
  3. 已删除但仍占用空间的文件
    • 查被删除但仍被进程占用的句柄:lsof | grep deleted,必要时重启相关进程释放空间。
  4. 包管理器缓存
    • YUM/DNF 缓存位置:/var/cache/yum/var/cache/dnf。执行 yum clean alldnf clean all 后,仍可用 ls -l /var/cache/yum 检查是否残留;如有第三方源或自定义缓存路径,需逐一核对并清理。
  5. 日志与临时文件
    • 日志轮转与清理:journalctl --vacuum-time=7d;旧日志可结合 find /var/log -type f -name “*.log” -mtime +7 -delete 清理;临时文件:/tmp、/var/tmp
  6. 应用层缓存
    • 数据库/缓存/Web:如 Redis(redis-cli info)MySQL(系统表空间与临时表)Nginx/Apache(proxy_cache_path 等),按各自文档检查缓存命中、占用与淘汰策略。

三、常见症状与定位对照表

症状 优先检查 快速定位命令 处理要点
内存“不够用”但业务无明显 OOM 内核缓存与脏页 free -h、vmstat 1、cat /proc/vmstat 先确认是缓存导致;仅在定位时执行 sync && echo 3 > /proc/sys/vm/drop_caches
磁盘空间被占满 大目录与已删除占用 df -h、du -sh /var 等、lsof 清理无用大文件/镜像;对 lsof 列出的进程做优雅重启
yum/dnf 占用过大或清理不彻底 包缓存目录与配置 yum clean all、ls -l /var/cache/yum、grep -R cache /etc/yum.repos.d 核对第三方源与自定义缓存路径后手动清理
页面响应变慢且 I/O 升高 缓存命中与脏页回写 vmstat 1、iostat -x 1、cat /proc/vmstat 结合 dirty_ratio/background_ratio 与业务峰值评估是否需要调优

四、定位后的处理建议

0
看了该问题的人还看了