Linux服务器磁盘空间不足怎么办?常用排查与清理方法

举报
yd_246254166 发表于 2026/10/31 01:12:45 2026/10/31
【摘要】 Linux服务器磁盘空间不足怎么办?常用排查与清理方法SEO关键词: Linux服务器磁盘空间不足、Linux磁盘清理、Linux磁盘占用查询、Linux磁盘满了怎么办、Linux日志清理、Linux磁盘空间释放文章摘要: Linux服务器运行一段时间后,经常会遇到磁盘空间不足的问题。如果不及时处理,可能导致网站无法访问、数据库写入失败、服务异常等情况。本文介绍Linux磁盘空间查询、大文...

Linux服务器磁盘空间不足怎么办?常用排查与清理方法

SEO关键词: Linux服务器磁盘空间不足、Linux磁盘清理、Linux磁盘占用查询、Linux磁盘满了怎么办、Linux日志清理、Linux磁盘空间释放

文章摘要: Linux服务器运行一段时间后,经常会遇到磁盘空间不足的问题。如果不及时处理,可能导致网站无法访问、数据库写入失败、服务异常等情况。本文介绍Linux磁盘空间查询、大文件定位、日志清理、缓存清理以及磁盘空间优化方法,帮助快速解决服务器磁盘占用过高的问题。

一、查看Linux服务器磁盘使用情况

当服务器提示磁盘空间不足时,首先需要确认究竟是哪个分区占用了大量空间。

使用以下命令查看磁盘使用情况:

df -h

重点关注以下几个字段:

  • Filesystem:磁盘分区名称。
  • Size:分区总容量。
  • Used:已经使用的空间。
  • Avail:剩余可用空间。
  • Use%:磁盘使用率。
  • Mounted on:挂载目录。

如果某个分区的使用率达到90%以上,就需要进一步排查。

另外,可以使用以下命令查看当前目录的占用情况:

du -sh /*

该命令能够快速统计根目录下各个文件夹的空间占用,帮助确定问题所在。

二、快速定位占用空间的大文件

确定问题分区后,下一步就是找到占用空间较大的文件。

使用以下命令查找超过100MB的文件:

find / -type f -size +100M 2>/dev/null

如果想按照文件大小排序,可以使用:

du -ah /var 2>/dev/null | sort -rh | head -20

这条命令可以找出 /var 目录中占用空间最大的20个文件或目录。

常见的大容量目录包括:

  • /var/log:系统及应用程序日志。
  • /var/lib/mysql:MySQL数据库文件。
  • /var/lib/docker:Docker镜像、容器及数据。
  • /tmp:临时文件。
  • /www/wwwlogs:网站访问日志。

注意:数据库文件和业务数据不能直接删除,应该先确认文件用途。

三、清理Linux系统日志

日志文件是服务器磁盘空间不断增长的常见原因之一。

可以先查看日志目录大小:

du -sh /var/log

查看具体日志文件:

ls -lhS /var/log

如果发现某个日志文件异常庞大,可以在确认不需要保留历史内容后清空:

truncate -s 0 /var/log/example.log

相比直接删除正在使用的日志文件,这种方式通常更合适,因为它能够保留文件本身,避免部分进程继续向已删除但仍被占用的文件描述符写入数据。

对于长期运行的服务器,建议配置 logrotate,实现日志轮转、压缩和自动清理,避免日志无限增长。

四、清理系统缓存与临时文件

Linux系统在运行过程中会产生软件包缓存和临时文件,可以根据实际情况进行清理。

Debian、Ubuntu系统:

apt clean
apt autoremove -y

CentOS、Rocky Linux系统:

yum clean all

清理临时目录中的过期文件时,需要注意不要删除正在被业务程序使用的数据。

可以先检查:

du -sh /tmp

不要直接执行无差别的全盘删除命令,生产环境尤其需要谨慎。

五、Docker服务器磁盘清理

如果服务器使用Docker部署应用,镜像、停止的容器以及构建缓存也可能占用大量空间。

查看Docker磁盘占用:

docker system df

清理未使用的资源:

docker system prune

如果需要进一步清理未使用的镜像:

docker image prune -a

需要注意,-a 会清理所有没有被容器使用的镜像,后续可能需要重新拉取。

不要随意删除Docker数据目录,否则可能造成容器数据丢失。

六、如何避免Linux服务器磁盘再次爆满?

解决当前问题只是第一步,长期运行的服务器还需要建立磁盘监控机制。

建议做好以下几项工作:

  1. 配置日志轮转: 限制日志文件大小,定期压缩和清理历史日志。
  2. 设置磁盘告警: 当磁盘使用率超过80%时发送通知。
  3. 定期检查Docker: 清理无用镜像和构建缓存。
  4. 数据库定期维护: 监控数据库文件、备份文件和临时文件增长情况。
  5. 做好数据备份: 清理之前确认文件用途,避免误删重要业务数据。

七、常见问题解答

1. Linux磁盘显示100%,但是找不到大文件怎么办?

可能存在文件已经被删除,但仍被运行中的进程占用的情况。可以使用:

lsof +L1

查找仍然被进程打开的已删除文件,必要时通过重启对应服务释放空间。

2. df和du显示的磁盘占用不一致是什么原因?

常见原因包括已删除文件仍被进程占用、文件系统预留空间以及挂载目录覆盖等,需要结合实际情况排查。

3. Linux服务器磁盘使用率多少算正常?

一般建议将80%作为预警线,90%作为重点处理线。具体阈值还需要结合服务器容量、业务增长速度和监控频率确定。

八、总结

Linux服务器磁盘空间不足并不一定意味着需要立即扩容。通过 df -h 查看分区使用情况,利用 du 和 find 定位大文件,再针对日志、缓存和Docker资源进行清理,通常就能找到问题根源。

对于生产环境,建议建立定期巡检和磁盘告警机制,从源头控制磁盘增长,避免因为存储空间耗尽影响网站和业务服务的正常运行。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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