Linux磁盘空间排查实战:从df到du的完整诊断链路

问题场景

生产环境磁盘使用率突破阈值,需要快速定位空间占用源并制定清理策略。

诊断链路

1. 全局视图:df定位分区

bash 复制代码
df -h  # 人类可读格式
df -i  # 检查inode耗尽情况

2. 目录级排查:du统计占用

bash 复制代码
# 一级目录占用排序
du -sh /* 2>/dev/null | sort -hr | head -10

# 深度遍历(谨慎使用)
du -h --max-depth=2 /var | sort -hr | head -20

3. 文件级定位:find精准打击

bash 复制代码
# 查找大文件(>100MB)
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null

# 查找最近7天修改的大文件
find /var/log -type f -mtime -7 -size +50M

常见陷阱

陷阱1:已删除文件未释放空间

bash 复制代码
lsof | grep deleted
# 需要重启占用进程或kill -HUP

陷阱2:隐藏的Docker占用

bash 复制代码
docker system df  # 查看Docker空间占用
docker system prune -a --volumes  # 清理悬空资源

陷阱3:inode耗尽但空间充足

bash 复制代码
df -i  # 检查inode使用率
find / -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n

预防措施

  • 配置logrotate自动轮转日志
  • 设置磁盘使用率告警(建议80%阈值)
  • 定期清理临时文件和旧备份
  • 监控Docker镜像和容器数量
相关推荐
omnijk9 分钟前
前端工程化
前端
做前端的娜娜子10 分钟前
前端必看!我把一段"能跑不敢动"的报表代码用 AI 重构成了组件(附完整 Prompt)
前端·ai编程
妙码生花23 分钟前
从 PHP 到 AI + Golang,程序员自救转型手记(四十三):前后端数据验证
后端·go·ai编程
hunterandroid27 分钟前
[鸿蒙从零到一] ArkUI 动画与转场实战:状态驱动、组件过渡与页面衔接
前端
何时梦醒28 分钟前
React + TypeScript + Vite 实战:从零构建 Color Picker 应用
前端·javascript·架构
谁在黄金彼岸31 分钟前
Nuxt.js 详解(一):Vue 开发者为什么要关注 Nuxt
前端
YuePeng32 分钟前
别再让 AI 直接写 SQL 了:一个注解搞定十亿行数据的语义层
后端·github
英勇无比的消炎药32 分钟前
TinyRobot v0.5.0 深度解读(三):Layout 组件——如何组织复杂工作区的页面布局
前端·vue.js
默_笙35 分钟前
😋 我让 DeepSeek-R1 在浏览器本地跑了起来,后端同事说"你认真的?"
前端·javascript