Linux 服务器磁盘空间不足?常用排查命令与处理方法

举报
GGBondHere 发表于 2026/10/17 18:00:17 2026/10/17
【摘要】 介绍 Linux 服务器磁盘空间不足时的常用排查方法,包括 df、du、系统日志、APT 缓存和 Docker 空间占用,帮助快速定位问题并安全清理。

Linux 服务器磁盘空间不足?常用排查命令与处理方法

前言

在日常 Linux 服务器运维中,磁盘空间不足是比较常见的问题。日志文件不断增长、软件包缓存、Docker 镜像等,都可能导致磁盘占用持续增加。

本文整理几个常用的 Linux 命令,介绍如何快速定位磁盘空间占用,并进行安全清理。以下命令主要适用于 Ubuntu、Debian 等 Linux 发行版。

一、查看磁盘使用情况

首先执行:

df -hT

该命令可以查看文件系统类型、总容量、已使用空间和剩余空间。

如果发现根分区 / 的使用率接近 100%,就需要进一步排查。

另外,也可以检查 inode 是否耗尽:

df -i

有时磁盘仍有剩余空间,但大量小文件耗尽了 inode,同样可能导致无法创建新文件。

二、定位占用空间较大的目录

使用以下命令查看根文件系统各目录的空间占用:

sudo du -xhd1 / 2>/dev/null | sort -h

其中:

  • du:统计目录占用空间。
  • -h:以易读格式显示大小。
  • -d1:只统计一层目录。
  • -x:不跨越其他文件系统。
  • sort -h:按照空间大小排序。

如果发现 /var 目录占用较大,可以继续执行:

sudo du -xhd1 /var 2>/dev/null | sort -h

通过逐层排查,可以定位占用空间最多的目录。

三、检查系统日志

Linux 的日志通常保存在 /var/log 目录下。

查看 systemd 日志占用:

journalctl --disk-usage

如果日志占用过大,可以根据实际保留需求执行:

sudo journalctl --vacuum-time=7d

该命令会清理超过指定保留时间的已归档 journal 日志,具体释放空间取决于日志文件状态。

建议先确认日志是否仍有排障价值,再进行清理。

四、清理软件包缓存

Ubuntu 和 Debian 使用 APT 管理软件包,下载的软件包可能留在本地缓存目录中。

可以执行:

sudo apt clean

该命令清理 APT 下载缓存,不会卸载已经安装的软件。

如果需要查看系统中哪些依赖包可能不再使用,可以先进行模拟:

sudo apt -s autoremove

确认列表无误后,再决定是否卸载,避免误删仍有用途的软件。

五、检查 Docker 空间占用

如果服务器部署了 Docker,还可以执行:

docker system df

该命令可以查看 Docker 镜像、容器及本地卷等资源的空间使用情况。

需要注意,清理 Docker 资源时不要直接删除不熟悉的镜像、容器或数据卷,以免影响正在运行的服务或造成数据丢失。

六、清理后重新检查

处理完成后,再次执行:

df -hT

对比清理前后的磁盘使用率,确认空间是否得到释放。

如果 df 显示的占用明显大于 du 统计结果,还需要考虑已删除但仍被进程打开的文件,以及文件系统保留空间等情况。

总结

排查 Linux 磁盘空间不足,可以按照以下顺序进行:

  1. 使用 df -hT 查看磁盘使用率。
  2. 使用 du 定位占用较大的目录。
  3. 检查系统日志和软件包缓存。
  4. 如果使用 Docker,检查镜像、容器和数据卷。
  5. 清理后再次检查,确认问题是否解决。

实际运维中,建议遵循 先定位、再确认、最后清理 的原则,不要为了释放空间而直接删除不熟悉的系统文件或业务数据。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。