Linux磁盘空间如何排查_常见误区解析避免新手踩坑【技巧】
发布时间 - 2025-12-21 00:00:00 点击率:次根分区空间告警但du统计偏小,主因是inode耗尽、已删未释放文件、挂载点遮挡或系统预留空间;需按df→df -i→sudo du→lsof +L1→mount顺序排查。
磁盘空间告警了,df -h 显示根分区 99%,但 du -sh /* 加起来才 60G?别急着删文件——问题很可能不在“看得见”的地方。真正卡住空间的,往往是隐藏行为、残留句柄或系统保留策略。
先看真实占用,别被表象骗
运行 df -h 确认哪个挂载点爆满,重点关注 Use% 列。但注意两点:
- 如果 df -i 显示 IUse% 接近 100%,说明是 inode 耗尽,不是空间不够——大量小文件(如日志碎片、session 文件)占满了索引节点,du 统计不出实际压力;
- df 显示的 Used + Avail 是正常现象:ext4 默认为 root 预留 5% 空间(紧急保底),可通过 tune2fs -m 1 /dev/sda1 调低,不建议清零;
- 某些云盘或 LVM 卷可能有配额限制或 thin-provisioning 延迟释放,需结合 lvs、lvdisplay 或厂商控制台确认。
找大目录要带权限和过滤
直接在 / 下跑 du -sh * 很容易失败——大量 Permission denied 会掩盖真实结果,也跳过隐藏目录:
- 用 sudo du -shx --max-depth=1 / 2>/dev/null | sort -hr:-x 防跨文件系统,2>/dev/null 屏蔽报错,结果才可信;
- 别漏掉 /var、/home、/opt、/usr/local 这些常驻大户,尤其 /var/log 和 /var/lib/docker;
- 加个 du -ah . | grep -E "^\s*[0-9.]+[TG]" 快速筛出 G/T 级文件,比纯排序更直给。
大文件≠可见文件,已删未释放最坑人
这是新手最常踩的坑:rm 删除了一个 20G 日志,df 却没变化。原因很常见:
- 进程仍在写该文件(比如 tail -f 或服务未重启),内核保留其 inode 和块指针,空间不回收;
- 用 lsof +L1 直接列出所有已删除但被打开的文件,输出里带 deleted 字样就是元凶;
- 对应处理:重启相关服务(如 nginx、java 应用、rsyslog),或用 echo > /proc/PID/fd/N 清空句柄(慎用,需确认业务影响)。
别忽略挂载点“遮挡”和缓存假象
有些空间“消失”是因为路径被覆盖了:
- 检查 mount | grep "^/dev",确认关键目录(如 /data、/mnt)是否真的挂载成功;
- 若曾挂载过新盘到 /tmp,后来卸载了,但 /tmp 原有文件还在,此时 du 会统计它们,而 df 不计入——先 umount /tmp,再 du -sh /tmp 看原始大小;
- 包管理器缓存(ap
t/yum/dnf)、journald 日志、Docker 构建缓存都可能静默膨胀,用 journalctl --disk-usage、docker system df、apt clean 分别验证。
基本上就这些。排查顺序建议固定:df → df -i → sudo du -shx --max-depth=1 / 2>/dev/null → lsof +L1 → 检查 mount 和服务状态。不复杂但容易忽略细节。
# linux
# java
# node
# docker
# nginx
# session
# ai
# dnf
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
iOS UIView常见属性方法小结
Laravel怎么清理缓存_Laravel optimize clear命令详解
Laravel如何实现模型的全局作用域?(Global Scope示例)
lovemo网页版地址 lovemo官网手机登录
Laravel如何自定义分页视图?(Pagination示例)
如何在万网自助建站平台快速创建网站?
昵图网官方站入口 昵图网素材图库官网入口
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
Linux后台任务运行方法_nohup与&使用技巧【技巧】
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
Python进程池调度策略_任务分发说明【指导】
LinuxCD持续部署教程_自动发布与回滚机制
微信小程序 canvas开发实例及注意事项
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
南京网站制作费用,南京远驱官方网站?
Linux系统命令中tree命令详解
如何生成腾讯云建站专用兑换码?
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
如何确认建站备案号应放置的具体位置?
如何在Windows环境下新建FTP站点并设置权限?
青岛网站建设如何选择本地服务器?
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
Laravel中的Facade(门面)到底是什么原理
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
西安专业网站制作公司有哪些,陕西省建行官方网站?
js代码实现下拉菜单【推荐】
移动端脚本框架Hammer.js
大连 网站制作,大连天途有线官网?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
制作电商网页,电商供应链怎么做?
Bootstrap整体框架之JavaScript插件架构
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
nginx修改上传文件大小限制的方法
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
如何快速搭建高效简练网站?
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
如何在新浪SAE免费搭建个人博客?
北京的网站制作公司有哪些,哪个视频网站最好?
用v-html解决Vue.js渲染中html标签不被解析的问题
如何正确选择百度移动适配建站域名?
Mybatis 中的insertOrUpdate操作
Laravel如何处理文件下载请求?(Response示例)


t/yum/dnf)、journald 日志、Docker 构建缓存都可能静默膨胀,用 journalctl --disk-usage、docker system df、apt clean 分别验证。