磁盘空间告警是云服务器运维中最常见的问题之一。收到告警时,很多人的第一反应是赶紧找几个大文件删掉,但真正有效的做法是先判断空间被什么占用、增长有多快,再决定处理方式。磁盘写满后,网站可能无法写入日志、上传功能失效、数据库拒绝写入,严重时连系统服务都会启动失败。排查顺序错了,不仅解决不了问题,还可能误删运行所需文件。
先看整体使用率,判断是突发还是累积
登录服务器后,先用 df -h 查看各分区的使用率和挂载点。重点看两个信息:哪个分区接近写满,以及使用率是否还在持续上升。如果几分钟内从 80% 涨到 95%,多半是突发写入,比如日志暴增、临时文件堆积或某个进程异常循环写盘;如果长期维持在 90% 以上缓慢增长,通常是备份、缓存或历史文件长期累积。区分这两类,后续处理思路完全不同。
按目录层级逐层定位占用来源
确认分区后,用 du -sh 命令从根目录开始逐层查看。先看一级目录,找到占用最大的那个,再进入该目录继续往下查,直到定位到具体文件夹或文件。也可以配合 du -h –max-depth=1 快速列出当前层级各目录的大小。对于文件数量极多的目录,用 ls -lh 按大小排序查看,或者用 find 配合 -size 参数筛选超过指定大小的文件。整个过程要有耐心,逐层缩小范围,不要一上来就全盘搜索。
区分日志、缓存、备份和临时文件
定位到占用来源后,要按文件类型区别处理。日志文件通常可以清理或归档,但要注意保留最近几天的记录,避免影响问题追溯;缓存文件多数可以安全删除,但删除后系统需要重新生成,可能带来短时性能波动;备份文件要确认是否还有恢复需求,不能因为占空间就直接删掉;临时文件一般可以清理,但要确认没有正在运行的任务依赖它们。不同文件类型的处理方式不同,不能一概而论。
清理前必须确认的几项信息
删除任何文件之前,先确认三件事:这个文件是否正在被进程使用,可以用 lsof 命令查看;这个文件是否属于某个服务的运行依赖,比如数据库的数据文件、应用的配置文件;这个文件是否有备份或归档方案。对于不确定的文件,宁可先移动到其他分区或压缩存放,也不要直接删除。误删运行所需文件导致的故障,往往比磁盘写满更难恢复。
清理之后的预防措施
问题解决后,要建立防止复发的机制。日志类文件应配置轮转策略,按大小或时间自动切割和清理旧日志;备份文件应设置保留周期,定期清理过期备份;容量监控要覆盖所有分区,设置合理的告警阈值,比如使用率达到 80% 就提前提醒。对于增长较快的业务,可以考虑将日志或备份目录挂载到独立的数据盘,避免影响系统分区。
磁盘告警的排查顺序可以总结为:先看整体使用率和增长趋势,再按目录逐层定位,然后按文件类型区别处理,清理前确认依赖关系,最后补上轮转和监控。这套流程不复杂,但每一步都需要耐心和判断。it数运在网站维护和服务器管理服务中,也会按类似的顺序处理磁盘问题,先定位再处理,避免误操作带来的二次故障。日常维护做到位,告警自然会少很多。





