游乐游手机版
首页/系统平台/文章详情

Linux查看文件系统使用百分比的方法与命令

时间:2026-08-18 16:39
如果你想查看最准确、最实时的 Linux 文件系统使用百分比,直接查看 df -h 输出中的 Use% 列就是最佳做法,因为它展示的是内核超级块里的实时状态。相比之下,du 命令无法识别已删除但尚未释放的文件,还会受到保留空间和权限限制等因素影响,因此通常不能提供准确的磁盘使用率统计。直接使用 df

如果你想查看最准确、最实时的 Linux 文件系统使用百分比,直接查看 df -h 输出中的 Use% 列就是最佳做法,因为它展示的是内核超级块里的实时状态。相比之下,du 命令无法识别已删除但尚未释放的文件,还会受到保留空间和权限限制等因素影响,因此通常不能提供准确的磁盘使用率统计。

Linux怎么查看文件系统的使用百分比

直接使用 df -h,查看 Use% 这一列即可。 这是查看 Linux 磁盘使用率最准确、最快捷、也最常见的方法,不依赖具体目录路径,也基本不受缓存或目录权限影响。

为什么不能用 du 计算文件系统使用率?

du 统计的是文件实际占用的磁盘块,而文件系统使用率则是内核从超级块中读取的实时结果——两者的统计口径不同,实际数值可能相差很大:

  • du 不会统计已删除但仍未释放的文件(也就是仍被进程占用的 inode)
  • du 无法体现 reserved blocks(例如 root 预留的 5% 磁盘空间)
  • du 会跳过没有读取权限的目录,导致结果偏低
  • 即便执行 -sh /,得到的也只是当前目录下可见内容的大小,并不是整个 /dev/sda1 分区的真实使用百分比

df -h 输出里哪些字段最重要?

重点需要关注三列:Use%Mounted on、以及对应行的 Filesystem

  • Use% 才是真正需要重点查看的数值,通常超过 90% 就应该开始预警
  • Mounted on 用来说明这个使用率对应的是哪个挂载点,比如 //home
  • Filesystem 显示底层设备名称,例如 /dev/nvme0n1p2,排查问题时可结合 lsblk 一起核对
  • 注意:A vailable 不等于 Free —— 它已经扣除了 reserved blocks,因此通常会比 df -B1 计算出的空闲字节数更小

遇到 “Use% 显示 100% 但还能写” 怎么办?

这一般不是 df 显示错误,而更可能是 inode 已耗尽,或者 reserved space 的保护机制正在生效:

  • 先执行 df -i,检查 IUse% 是否接近 100% —— 当小文件数量过多时,inode 往往会先被用完
  • 使用 sudo tune2fs -l /dev/sdXN | grep "Reserved block count" 查看 reserved 比例,默认通常为 5%,因此 root 用户仍然可以继续写入
  • df -h 显示 100% 时,普通用户通常确实会被拒绝写入,但 root 一般不受这个限制
  • 不要直接相信 du -sh / | sort -h 的汇总结果 —— 它无法反推出 df 中的 Used,因为元数据、journal、holes 等内容并不会被 du 统计进去

如果你想监控 Linux 磁盘使用率,只需要重点盯住 df -h 中的 Use%;如果你想进一步找出究竟是哪些目录或文件在大量占用空间,再使用 du -sh 进行排查。两者配合使用没有问题,但不要拿 du 的结果去反推 df 的使用百分比——因为它们的底层统计逻辑完全不同,强行换算往往只会得出错误结论。

来源:https://www.php.cn/faq/2956746.html
上一篇Linux查看所有用户密码过期状态的方法 下一篇Linux如何查看磁盘读写实时走势与具体变化
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Linux如何查找7天前修改过的文件
系统平台 · 2026-08-18

Linux如何查找7天前修改过的文件

-mtime +7 这个参数在 Linux 文件查找场景中经常被误解。它真正匹配的是修改时间超过 7 个完整 24 小时周期的文件,也就是 8 天及以上的文件。换句话说,它会筛选出 2026-06-30 及更早修改的文件,而不是很多人理解的“7天前文件”。由于 find 命令的时间计算采用向下取整方

Linux如何查看共享内存大小及使用情况
系统平台 · 2026-08-18

Linux如何查看共享内存大小及使用情况

很多人会把 free 命令中的 shared 字段误认为是 Linux IPC 共享内存大小,其实这是一个非常常见的理解偏差。这个字段真正反映的,是 tmpfs 挂载点(例如 dev shm)所占用的内存情况,并不包含通过 ipcs -m 查看的 System V 共享内存段。那么,Linux 怎

Linux查看磁盘使用分布的常用方法与命令
系统平台 · 2026-08-18

Linux查看磁盘使用分布的常用方法与命令

ncdu 是一款交互式磁盘空间分析工具,能够逐层下钻定位占用空间较大的目录,支持键盘导航、实时排序以及删除确认。它底层基于 du 实现,但在实际排查磁盘占用时大幅简化了操作流程,非常适合 Linux 磁盘使用分析。想直接查看目录级别的磁盘使用分布,就别只盯着 df 的总容量输出——它只能告诉你“磁盘

Linux系统序列号怎么查看及查询方法
系统平台 · 2026-08-18

Linux系统序列号怎么查看及查询方法

在 Linux 中查看物理服务器序列号,最快捷的方法通常是直接读取 sys class dmi id product_serial。普通用户一般无需 root 权限;如果返回为空,通常说明 BIOS 固件没有填写该字段;如果出现报错,则多半与内核限制或 SELinux 安全策略有关。直接读 sy

苹果电脑录屏帧率怎么设置fps与清晰度
系统平台 · 2026-08-18

苹果电脑录屏帧率怎么设置fps与清晰度

苹果电脑自带的录屏工具帧率默认锁定为 30fps,且系统本身不支持直接修改。如果你想在 Mac 录屏时自定义帧率,需要借助 OBS Studio(可在“输出→录制”中设置)或优加蛙这类第三方录屏软件(可在“视频设置”中拖动滑块调整)。苹果电脑录屏时如果想调节画面流畅度,核心就在于设置帧率(FPS)。