跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

Linux磁盘空间不足的排查方法

先使用df -h和df -i检查磁盘及inode使用情况,再通过du -sh *和find定位大文件,重点清理/var/log日志及/tmp临时文件,结合journalctl和logrotate管理日志,最后用lsof +L1查找未释放的删除文件。

磁盘空间不足是Linux系统运维中常见的问题,及时排查和清理能避免服务中断。以下是一套实用的排查流程,帮助快速定位问题根源。

检查整体磁盘使用情况使用df命令查看各挂载点的磁盘使用情况,重点关注使用率较高的分区。

常用命令:

df -h:以人类可读的方式显示磁盘使用情况(KB、MB、GB)

df -i:查看i node使用情况,避免因inode耗尽导致无法创建新文件若发现某个分区使用率接近100%,需进一步进入该分区定位大文件或目录。

定位占用空间大的目录和文件进入使用率高的挂载点后,使用du命令分析目录占用。

常用方法:

du -sh *:查看当前目录下各子目录和文件的总大小du -h --max-depth=1 /path:按指定深度统计目录占用,便于逐层排查du -ah /path | sort -rh | head -20:列出指定路径下最大的20个文件或目录注意隐藏文件和日志目录(如/var/log),它们常被忽略但可能占用大量空间。

Docker Desktop(linux)

当前 Docker 最新稳定版本之一,主要针对稳定性和兼容性进行了修复优化,适合生产环境与日常开发使用。该版本继续强化 AI 开发支持、容器日志管理以及 Docker Engine 的安全能力,对 Windows/macOS/Linux 平台兼容性进行了进一步优化。

下载检查并清理日志文件系统和服务日志是磁盘爆满的常见原因,特别是/var/log目录下的日志。

处理建议:

查看大日志文件:

find /var/log -type f -size +1G使用journalctl

管理systemd日志:

journalctl --disk-usage查看日志占用,journalctl --vacuum-time=7d清理7天前的日志定期轮转日志:确保logrotate服务正常运行清空大日志文件时,建议使用> filename.log而非直接删除,避免服务因文件句柄未释放仍占用空间查找并处理临时或无用文件系统运行过程中可能遗留大量临时文件。

可检查以下位置:

/tmp和/var/tmp:清理长时间未访问的临时文件

用户家目录下的缓存:

~/.cache已卸载但句柄未释放的文件:使用lsof +L1查找被删除但仍被进程占用的文件旧的内核包或缓存:使用apt autoremove(Debian系)或dnfautoremove(RHEL系)清理基本上就这些。掌握df、du、find等基础命令,结合对系统目录结构的理解,大多数磁盘空间问题都能快速解决。关键是要养成定期检查和日志管理的习惯,避免问题积累。

相关文章