Linux磁盘空间如何排查_关键技巧整理帮助提高效率【教学】

admin 百科 12
Linux磁盘空间告警时应先定位真实瓶颈:用du逐层下钻查大目录,lsof+L1揪出已删除但被占用的“幽灵文件”,df-Th识别tmpfs/overlay等伪文件系统干扰,再重点清理journalctl日志、Docker残留和包管理缓存。

Linux磁盘空间如何排查_关键技巧整理帮助提高效率【教学】-第1张图片-佛山资讯网

Linux磁盘空间告警时,别急着删文件,先定位真实瓶颈——90%的问题出在“看不见”的地方:大日志、已删除但未释放的文件、隐藏挂载点或容器残留数据。

快速定位谁占了最多空间

du 结合 sorthead 逐层下钻,避免卡在海量小文件上:

  • du -sh /* 2>/dev/null | sort -hr | head -10 —— 查看根下各一级目录大小(跳过权限错误)
  • du -sh /var/* 2>/dev/null | sort -hr | head -5 —— 进入可疑目录继续深挖,如 /var/log/var/lib
  • --max-depth=1 防止递归过深拖慢速度;-x 参数可限制在同一文件系统内(避开挂载子目录干扰)

揪出“看不见”的大文件:已删除但仍被进程占用

文件被 rm 后若仍有进程打开它,磁盘空间不会释放。这类“幽灵占用”常导致 df 显示满,但 du 算不出来源:

  • lsof +L1 —— 直接列出所有已删除但仍被打开的文件(需 root 权限)
  • lsof | grep deleted | awk '{print $7,$9}' | sort -nr | head -5 —— 按大小倒序看前5个(第七列是大小,第九列是路径)
  • 常见场景:应用日志被轮转删除,但服务没重载日志配置,旧句柄仍持有大文件;解决办法是重启对应进程或用 kill -USR1 触发日志重载(如 nginx、rsyslog)

检查挂载异常与伪文件系统干扰

df -h 显示满,但 du 总和远小于它?可能是挂载覆盖、tmpfs 占用或 overlayfs 留下的容器层:

标签: linux centos docker nginx ubuntu

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~