磁盘满了别先删文件,先找到谁在涨

举报
yd_282084356 发表于 2026/10/29 06:48:18 2026/10/29
【摘要】 服务器一报磁盘满,很多人第一反应是进目删几个大文件腾地方。空确实能立刻回来但如果没找到增长源头,过几天它还会满,而且删错西的代价比磁盘满更大。更稳的法,是先分清这一句:空间是被什么占的、还在涨吗、删了会不会影响正在跑的业务。先看两个数字,别只看一个。df -h 看的是磁盘用量,df -i 看的是 inode 用量。文件数爆了也会报满,这时删大文件没用,得清小文件。两个都正常还写不进,可能是某...

服务器一报磁盘满,很多人第一反应是进目删几个大文件腾地方。空确实能立刻回来但如果没找到增长源头,过几天它还会满,而且删错西的代价比磁盘满更大。更稳的法,是先分清这一句:空间是被什么占的、还在涨吗、删了会不会影响正在跑的业务。

先看两个数字,别只看一个。df -h 看的是磁盘用量,df -i 看的是 inode 用量。文件数爆了也会报满,这时删大文件没用,得清小文件。两个都正常还写不进,可能是某个目录被挂载点盖住了:文件写进了挂载点下的旧目录,挂载后就看不见了,卸载后才能看到。先把这两个数对上,再动手。

增长源头按从粗到细走。先用 du 看一级目录谁最,再一层下钻,只跟最大的分支走,不要盘扫描浪费时间。日志目录、数据库数录、备份目、容器存储目录,是最常见的四处。日志要看增长速度,不只是当前大小:一个小时涨几个 GB 日志,半年动的历史文件,处理方式完全不同。

有一种情况删了也不回空间:文件已经被删,但还被进程占着。lsof 里能看到已删除却仍开的文件,空间要等进程退出或重启才释放。直接删日志文件还可能让程序继续往旧句柄写,空间不回、日志还丢了。正确做法是先让程序释放,或者用截断而不是除。

删之前先问三个问题。第一,这个件还能再生吗,删了会不会丢业务数据。第二,它是不是正在被程序用,删了会不会让服务报错。第三,有没有备份,删错了能不能找回来。三个有一个答不上来,就先别删,先挪到别处或者压缩归档,观察一轮再彻底清。

治标之后要治本。日志要配轮转:按大小或时间切分、保留期写楚压缩旧日志,而不是靠人定手动删数据库要看保留策略和自动清理任务有没有。临时文件和缓存要分清哪些是程序自己会清的、哪些是泄漏的。最后把告警水位定在 70% 和 85% 两档:70% 醒看趋势,85% 必须处理,不要等到 100% 才救。

收尾清单很简单:确认用量和 inode、定位到增长最快的目、确认增长速度、删前过三问删后复查空间、给增长源头配上轮转或保留策略。磁盘满不可怕,可怕的是不分来源就删。先找到是谁在涨,再动手定位度和安全性都会好很多。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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