当前位置: 首页 > 新闻动态 > 技术教程

Linux系统盘爆满怎么办_根目录空间排查流程【技巧】

作者:舞姬之光 浏览: 发布日期:2025-12-20
[导读]:根目录爆满需按四步排查:先用df-h确认真实占用及挂载点;再用du-sh/*定位一级大户;接着用find和lsof查找大文件及已删未释文件;最后分类清理日志、缓存、Docker等,避免误删。
根目录爆满需按四步排查:先用df -h确认真实占用及挂载点;再用du -sh /*定位一级大户;接着用find和lsof查找大文件及已删未释文件;最后分类清理日志、缓存、Docker等,避免误删。

根目录爆满不是突发故障,而是空间被悄悄吃掉的结果。关键不在“删什么”,而在“怎么快准狠定位”。下面按实战顺序说清楚每一步该做什么、为什么这么做、容易踩什么坑。

第一步:确认是不是真满了,以及满在哪儿

别急着进目录翻找,先看全局:
df -h —— 这是唯一可靠的起点。
重点看 Use%Mounted on 列。如果 /dev/vda1 或类似设备挂载在 / 且 Use% ≥95%,就说明根分区确实告急。
注意:有些系统 /boot、/var/log、/tmp 是独立挂载点,df -h 会单独列出,别只盯着 / 忽略其他小分区也被撑爆的可能。

第二步:一层层揪出“大户”目录

从根开始,用 du 锁定最大嫌疑区域:
- 查一级子目录大小(最常用):
du -sh /* 2>/dev/null | sort -hr
这行命令能快速排出 /var、/home、/usr 等谁占得最多。2>/dev/null 是为了跳过权限拒绝的目录(比如 /proc、/sys),避免干扰排序。
- 如果发现 /var 占了 60G,那就继续钻进去:
du -sh /var/* 2>/dev/null | sort -hr
常见“重灾区”有:
/var/log(日志没轮转)
/var/lib(Docker 镜像、数据库数据)
/var/cache(包管理器缓存堆积)
/root/home 下的大型软件包(如 Anaconda、离线镜像)

第三步:精准定位大文件,特别是“看不见”的那些

目录大 ≠ 一定有显眼的大文件。有些文件已被删除但进程还在写,空间没释放:
- 找真正存在的大文件(≥1G):
find / -type f -size +1G 2>/dev/null | xargs ls -lh
du 更快,尤其适合已知大概范围(比如只查 /var/log):
find /var/log -type f -size +500M -ls
- 查“已删未释”的幽灵文件:
lsof +L1lsof | grep deleted
输出里会显示哪个进程(PID)还占着已删除文件的句柄。常见于长期运行的日志服务(如 nginx、java 应用),重启对应服务即可立即释放空间。

第四步:清理前先判断,别误删关键内容

找到目标后,别直接 rm -rf
• 日志类(/var/log/*.log):
– 先 ls -lhS 看最大几个,确认是否可删;
– 优先用 logrotate 配置自动轮转,或手动压缩:gzip app.log
– 清理旧归档:find /var/log -name "*.log.*" -mtime +30 -delete
• 缓存类(/var/cache/apt/root/.cache):
apt clean(Debian/Ubuntu)
yum clean all(CentOS/RHEL)
rm -rf /root/.cache/pip /root/.cache/conda(若确定不用)
• Docker 类:
docker system prune -a(慎用,会删所有未用镜像和容器)
– 或只清构建缓存:docker builder prune

免责声明:转载请注明出处:http://m.jing-feng.com.cn/news/74896.html

扫一扫高效沟通

多一份参考总有益处

免费领取网站策划SEO优化策划方案

请填写下方表单,我们会尽快与您联系
感谢您的咨询,我们会尽快给您回复!