先用df -h定位高占用分区,再用du -sh /*逐层下钻查大目录,接着用find -size +500M揪大文件,最后用lsof +L1排查已删仍被占用的“僵尸”文件。

磁盘空间告警一响,别急着删文件。先精准定位“吃空间”的源头,再安全清理,才是稳准快的关键。
执行df -h,重点盯Use%列——超过95%就要处理。注意挂载点(Mounted on),比如/、/var或/data。若多个分区都高负载,优先处理Use%为100%或接近的那一个。
对问题分区根目录执行:
sudo du -sh /* 2>/dev/null | sort -hr
这能快速列出顶层子目录大小。常见“大户”有:
- /var/log(日志堆积)
- /var/lib/docker(Docker镜像/容器/日志)
- /tmp(残留临时文件)
- /home或/data(业务数据或上传文件)
找到最大目录后,cd进去,重复执行du -sh * | sort -hr,逐层缩小范围。
当怀疑是少数几个超大文件占满空间时,用find更高效:
find / -xdev -type f -size +500M 2>/dev/null -exec du -h {} \; | sort -hr | head -n 20
说明:
- -xdev避免跨分区搜索(防止误入其他挂载点)
- +500M可按需调整,如+1G、+100M
- 常见目标:*-json.log(Docker容器日志)、.log、.tar.gz、core文件
有时df显示已满,du却算不出对应大目录——很可能是文件被rm了,但进程还在写它。运行:
lsof +L1 或 lsof | grep deleted
输出中会显示PID和文件路径。解决方法:
- 重启对应服务(如systemctl restart nginx)
- 或直接kill -HUP PID(若支持重载)
空间会立刻释放,无需重启整机。
基本上就这些。工具不多,关键是顺序不能乱:df → du分层 → find精筛 → lsof兜底。不复杂但容易忽略。
以上就是Linux磁盘空间如何排查_最佳实践总结助你快速突破【指导】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号