Linux 磁盘满了别慌:从定位大文件到安全清理的排查思路

举报
yd_291459017 发表于 2026/11/03 15:41:58 2026/11/03
【摘要】 Linux 磁盘满了别慌:从定位大文件到安全清理的排查思路服务器跑着跑着,某天写文件突然报“空间不足”,服务却还活着,这是很多人第一次遇到磁盘满的现场。别急着删东西,先定位,再清理,最后留个兜底。 第一步:先确认满的是哪一块df -hdf -idf -h 看容量,df -i 看 inode。容量没满但 inode 满了,也一样写不进文件,两种满法要分清。 第二步:从根目录往下找du -sh...

Linux 磁盘满了别慌:从定位大文件到安全清理的排查思路

服务器跑着跑着,某天写文件突然报“空间不足”,服务却还活着,这是很多人第一次遇到磁盘满的现场。别急着删东西,先定位,再清理,最后留个兜底。

第一步:先确认满的是哪一块

df -h
df -i

df -h 看容量,df -i 看 inode。容量没满但 inode 满了,也一样写不进文件,两种满法要分清。

第二步:从根目录往下找

du -sh /* 2>/dev/null | sort -h

先看一级目录谁最大,再往可疑的目录钻一层,不要一上来就全局扫,慢而且噪音多。日志、缓存、备份、容器数据是常见的几个大头。

第三步:日志先看增长原因,再谈清理

日志大,先看是哪个服务在刷:

du -sh /var/log/* 2>/dev/null | sort -h | tail -20

能用系统自带工具轮转的,优先用工具:

journalctl --vacuum-size=500M

直接删正在被写的日记文件要小心,文件删了、进程还占着句柄,空间未必释放,服务也可能写丢。用 lsof | grep deleted 可以看到这类“删了还占着”的文件,重启对应服务才是正解。

第四步:缓存和包管理残留,删之前先分清

apt clean
docker system df

包缓存、旧镜像层、悬空卷都可能占不少空间。docker system prune 这类命令会动真格,跑之前先确认上面没有要留的容器和卷,别在生产机上顺手执行。

第五步:备份目录最容易误伤

备份文件看着最占地方,也最容易一删就后悔。删之前确认三点:这份备份有没有第二份、最近一次恢复演练是什么时候、删的是过期备份还是唯一副本。只删已确认过期、且有异地副本的旧备份。

留个兜底:满之前就报警

磁盘用到 80% 就该报警,而不是等到 100% 才处理。定时任务里加一行 df 检查,超阈值发一条通知,比半夜起来救火便宜得多。清理完再跑一次 df -h,确认空间真的回来了,而不是只删了个文件名。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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