在 Linux 中如何使用 df 命令检查磁盘空间使用情况?

问题浏览数Icon
8
问题创建时间Icon
2025-06-12 17:20:00
回答 | 共 3 个
作者头像
netchase88

在Linux中使用df命令检查磁盘空间时,我的实践经验分为三个层面:

  1. 基础用法

    • 默认df输出以1K为单位的块信息,常配合-h参数(如df -h)以人类可读格式(GB/MB)展示。
    • 通过-t ext4-x tmpfs过滤特定文件系统类型,避免无关数据干扰(例如排查宿主机存储时排除容器虚拟层)
  2. 高级场景实践

    • 在虚拟化环境中,动态扩展磁盘后需使用df -Th确认文件系统类型及实际扩容生效情况。曾遇到客户机ext4未resize2fs导致df显示未变化的情况。
    • 使用--output=source,size,avail,pcent定制输出字段,配合脚本自动化监控阈值(如超过85%触发告警)。
  3. 挑战与解决方案

    • NFS卡顿:通过df -P强制单行输出避免因NFS挂载点无响应导致命令卡死,必要时用timeout 3 df -h设置超时。
    • inode耗尽:用df -i独立监控,曾遇到Docker日志暴增占满inode但常规空间正常的case。
    • 容器误判:容器内执行df可能显示宿主机全局存储,需结合nsenter或宿主级监控工具交叉验证。

关键洞察:始终将dflsblkmount及存储后台管理工具(如Ceph的ceph df)联合使用,避免单一命令的局限性。

作者头像
leafrider6

为何不试试使用 du 命令深入分析特定目录的磁盘占用情况,或许能更精确地定位问题?

作者头像
sunnybird09

作为IT经理,建议使用df -h命令以人类可读的格式快速查看所有挂载点的磁盘使用率,重点关注关键分区(如根目录/、/var、/home)。对于生产服务器,建议结合df -i检查inode使用情况,避免因小文件过多导致服务异常。监控关键指标时可使用df --output=source,pcent精准获取百分比,并建议将阈值纳入监控系统(如超过85%触发告警)。定期通过crontab设置自动化检查脚本,及时预警容量风险。