首页/系统/Linux 运维命令速查/场景:df 与 du 数字对不上怎么查
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条
磁盘与文件系统51 条
用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

场景:df 与 du 数字对不上怎么查

df 说 80%,du 加起来只有 40%:差异来自 deleted 句柄、被覆盖的挂载、稀疏文件或快照;系统化排查。

Linux 运维命令速查系统更新于 2026-10-12
场景容量统计两套数字冲突
目标定位隐藏占用并解释差异
工具链df / du / lsof / findmnt / lvs

排查五项差异源

排查五项差异源
# 1) 已删除句柄
lsof +L1 | head
# 2) 隐藏挂载叠加(被挂载点盖住的目录)
findmnt -A / | less
# 3) 稀疏文件(ls -s 是实际占用)
find /data -type f -size +1G -exec ls -lsh {} \; | awk '{print $1,$2,$10}' | head
# 4) LVM 快照占用
lvs -o lv_name,size,data_percent,snap_percent
# 5) 目录内挂载的其它 FS
mount | awk '{print $3}' | grep '^/data'
du 按目录树走、默认不跨文件系统边界;df 按文件系统计,被覆盖目录(overmount)里的文件 du 永远看不到。

易错点

  • 忘了加 -x 的 du 会跨文件系统统计,报表数字与 df 完全不可比
  • LVM 快照写满会导致快照失效并占用原卷空间异常增长,监控快照使用率是关键

数据来源与参考

  • man 8 lvs(快照)
  • man 1 du
  • man 1 df

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌