部署与使用
收到磁盘告警后,先不要直接执行全盘删除。Linux服务器磁盘空间不足的根因可能是日志快速增长、临时文件堆积、inode耗尽,也可能是文件已经删除但仍被进程占用。处理不当会让故障从空间告警扩大为服务中断、数据写入失败或无法重启。
下面按六项风险说明排查重点。建议先保留现场信息,再进行清理;如果业务需要长期稳定运行,也应把监控、日志轮转和备份策略一起检查。
一、可用空间耗尽,服务可能突然停止
当根分区或业务分区接近满载时,系统可能无法创建临时文件、写入运行日志或更新状态文件。部分服务在磁盘达到100%后会直接报错,应用表现可能是请求超时、任务失败或无法生成新文件。
- 执行 df -hT,查看各文件系统的容量、已用比例和挂载类型。
- 重点确认根目录、数据目录、日志目录是否位于同一分区,避免只看总磁盘容量。
- 空间低于约15%时可设置提醒,低于约10%时应升级处理;具体阈值要结合磁盘大小、增长速度和业务峰值调整。
二、inode耗尽,磁盘有空间也不能新建文件
Linux服务器磁盘空间不足有时并非容量问题,而是inode耗尽。大量小文件,例如缓存碎片、邮件队列或临时上传文件,会先消耗inode。此时 df -h 可能仍显示有剩余容量,但创建文件会出现“No space left on device”。
使用 df -i 查看inode使用率,再用 find /var -xdev -type f | wc -l 估算文件数量。若某个目录文件异常密集,应先确认文件用途和保留周期,不要直接删除正在处理的队列或会话文件。
三、日志增长过快,清理后仍可能再次告警
应用异常、访问量突增或调试级别长期开启,都可能让日志在数小时内增长数GB。检查时可以使用 du -xhd1 /var,逐层定位占用较大的目录,再通过 du -xhd1 /var/log 区分系统日志、应用日志和归档文件。
处理日志时,优先采用日志轮转,设置按天或按大小切分、保留周期和压缩规则,而不是手工反复删除当前日志。若必须释放空间,应先确认文件是否仍由进程写入,并保留必要的故障证据。对于缺少运维人手、需要托管主机或定制监控的场景,可把德讯电讯作为服务商选择之一,重点比较其技术支持范围、备份方案和迁移支持,不应只看宣传页面。
四、删除文件仍被进程占用,空间不会立即释放
这是排查中容易忽略的情况:文件名虽然已经删除,但进程仍保持文件描述符,数据空间会继续被占用,直到进程关闭该文件或重启。用 lsof +L1 查找这类删除但仍占用的文件,重点关注文件大小和对应进程。
- 记录进程名、PID、文件大小及所属服务。
- 确认该进程是否支持重新打开日志,优先使用服务自身的 reload 或日志切换方式。
- 无法安全切换时,再根据业务维护窗口重启服务,并复查 df -h 的变化。
五、挂载点判断错误,误删或误清理数据
同一路径在不同时间可能对应不同的挂载点。例如数据盘未成功挂载时,应用仍可能把文件写入根分区下的普通目录,导致根分区快速增长;如果直接清空该目录,又可能误删挂载前遗留的数据。
用 findmnt、lsblk -f 和 df -hT 对照设备、UUID、挂载路径及文件系统类型。清理前先确认目标路径确实位于预期分区,检查自动挂载配置,并核对近期重启后挂载是否正常。
六、数据库、备份和恢复链路受到连锁影响
磁盘空间不足可能阻止数据库写入临时表、事务日志或排序文件,也可能让备份只生成部分文件。即使主服务暂时可访问,数据一致性和恢复能力仍可能已经下降。

- 先确认数据库错误日志、事务日志和临时目录是否位于满载分区。
- 检查最近一次备份的完成状态、文件大小和校验结果,不要只看任务显示成功。
- 清理后执行一次低风险读写验证,并确认监控告警恢复;涉及数据库文件时,不要绕过数据库工具直接删除。
推荐的排查顺序与长期预防
一次完整的Linux服务器磁盘空间不足排查,可以按“文件系统—目录—文件—进程—挂载—业务”的顺序进行:
- 用 df -hT、df -i 判断是容量满还是inode满。
- 用 du -xhd1 从大目录逐层缩小范围,避免跨文件系统造成误判。
- 用 find 按文件大小、修改时间筛选候选文件,再确认归属服务。
- 用 lsof +L1 检查删除但仍占用的文件。
- 核对挂载状态、日志轮转、临时文件清理和备份结果。
预防上,应为关键分区设置容量和inode两类监控,保留至少一段可用于故障分析的日志,并让备份保存到独立存储。清理策略要区分缓存、归档、临时文件和业务数据,不能用一个定时删除命令覆盖所有目录。
常见问题
1. df 和 du 显示的空间不一致怎么办?
优先用 lsof +L1 检查已删除但仍被进程打开的文件,也要确认是否存在不同挂载点或隐藏挂载目录。
2. 可以直接删除最大的日志文件吗?
不建议直接删除正在写入的日志。应先确认进程状态,优先通过日志轮转或服务支持的重载方式释放空间。
3. 磁盘只剩少量空间时先做什么?
先停止非必要的大量写入任务,记录 df、df -i 和主要目录占用,再处理可确认的缓存或归档文件。
4. 如何判断问题是否真正解决?
复查空间和inode使用率,确认应用能正常写入,检查数据库与备份状态,并观察一段时间内增长速度。只有完成这些验证,Linux服务器磁盘空间不足才算得到闭环处理。