在Linux中使用df
命令检查磁盘空间时,我的实践经验分为三个层面:
-
基础用法:
- 默认
df
输出以1K为单位的块信息,常配合-h
参数(如df -h
)以人类可读格式(GB/MB)展示。 - 通过
-t ext4
或-x tmpfs
过滤特定文件系统类型,避免无关数据干扰(例如排查宿主机存储时排除容器虚拟层)
- 默认
-
高级场景实践:
- 在虚拟化环境中,动态扩展磁盘后需使用
df -Th
确认文件系统类型及实际扩容生效情况。曾遇到客户机ext4未resize2fs
导致df
显示未变化的情况。 - 使用
--output=source,size,avail,pcent
定制输出字段,配合脚本自动化监控阈值(如超过85%触发告警)。
- 在虚拟化环境中,动态扩展磁盘后需使用
-
挑战与解决方案:
- NFS卡顿:通过
df -P
强制单行输出避免因NFS挂载点无响应导致命令卡死,必要时用timeout 3 df -h
设置超时。 - inode耗尽:用
df -i
独立监控,曾遇到Docker日志暴增占满inode但常规空间正常的case。 - 容器误判:容器内执行
df
可能显示宿主机全局存储,需结合nsenter
或宿主级监控工具交叉验证。
- NFS卡顿:通过
关键洞察:始终将df
与lsblk
、mount
及存储后台管理工具(如Ceph的ceph df
)联合使用,避免单一命令的局限性。