磁盘空间告警时应先用df定位高危挂载点和inode耗尽情况,再用du查找大目录,接着用find扫描大文件,最后检查lsof发现的已删未释文件并重启相关进程。

磁盘空间告警时,别急着删文件。先搞清“谁占的、占在哪、能不能动”,整个排查过程其实有清晰路径可循。
运行 df -h 查所有分区使用率,重点关注 Use% ≥ 80% 的挂载点(比如 /、/var、/home)。
再加一个 df -i 看 inode 是否耗尽——有时空间还有余量,但因小文件太多导致无法新建文件,这也是“满”的一种表现。
进到高危挂载点根目录(如 /),执行:
du -sh /* 2>/dev/null | sort -rh | head -15
快速列出顶层目录大小排名。常见“大户”包括:
- /var(日志、Docker、缓存)
- /home(用户数据、备份、容器镜像)
- /usr(软件安装、内核旧版本)
- /tmp 和 /var/tmp(残留临时文件)
对可疑目录进一步扫描,例如:
find /var -type f -size +500M -exec ls -lh {} \; 2>/dev/null
能直接列出大于 500MB 的文件,含路径和大小。重点盯:
- /var/log/*.log 和 *.log.*(滚动日志未清理)
- /var/lib/docker/containers/**/*-json.log(Docker 容器日志)
- /home/*/Downloads 或 /root/.cache(用户缓存堆积)
有时文件已被 rm,但进程仍在写入,空间不释放。执行:
lsof +L1 或 lsof | grep deleted
会列出这类“幽灵文件”。常见于:
- 长期运行的日志服务(rsyslog、journalctl)
- Docker 容器、Java 应用、数据库进程
解决办法:重启对应服务,或用 kill -USR1 触发日志重载(视服务支持而定)。
基本上就这些。流程不复杂,但容易忽略 inode 或已删未释的情况。动手前建议先备份关键配置,清理时优先选可逆操作(如清空日志用 cat /dev/null > file.log 而非直接 rm)。
以上就是Linux磁盘空间如何排查_完整流程拆解让问题迎刃而解【教程】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号