网站突然无法写入、数据库报错、程序日志提示 No space left on device,都是磁盘空间耗尽的典型表现。需要快速找出占用大户并清理。
可能原因
- 日志文件(Web、应用、系统)无限增长;
- 备份文件、临时文件堆积;
- 网站上传目录或数据库数据持续增长;
- 文件已删除但进程仍占用句柄,空间未释放。
排查步骤
- 确认空间与 inode 使用情况:
df -h
df -i
inode 占满(大量小文件)也会报 No space left。
- 从根目录逐层找出大目录:
du -xh --max-depth=1 / 2>/dev/null | sort -rh | head -n 15
du -xh --max-depth=1 /var 2>/dev/null | sort -rh | head -n 10
- 常见清理对象:旧日志用
truncate -s 0 文件路径清空(比删除安全);清理软件包缓存apt clean或yum clean all;删除过期备份。 - 删除文件后 df 仍显示占满,说明有进程占用已删除文件:
lsof +L1
重启对应进程即可释放空间。
- 长期方案:配置 logrotate 日志轮转,定期清理备份。
注意:不要直接 rm 删除数据库数据文件或正在被写入的日志,可能导致服务异常。
仍未解决
清理后空间仍不足或不确定哪些可删,请通过「支持服务 → 工单」反馈,附上 df -h 与 du 排查结果,客服将协助分析;空间长期紧张也可考虑升级套餐。