菜鸟科技网

aix系统下df命令如何查看特定文件系统的磁盘占用及inode使用情况?

df (disk free) 是 AIX 系统管理员和用户最常用的命令之一,用于显示文件系统的磁盘空间使用情况,了解如何使用 df 对于系统性能监控、容量规划和故障排查至关重要。

aix系统下df命令如何查看特定文件系统的磁盘占用及inode使用情况?-图1
(图片来源网络,侵删)

基本用法和常用选项

df 命令的基本格式是 df [选项] [文件系统|目录]

如果不带任何参数运行 df,它会列出所有已挂载(mounted)的文件系统及其空间使用情况。

常用选项

选项 全称 描述 示例
-k kilobytes 默认选项,以 KB (千字节) 为单位显示大小。 df -k /
-g gigabytes 以 GB (吉字节) 为单位显示大小,非常适合快速查看大容量文件系统。 df -g /home
-m megabytes 以 MB (兆字节) 为单位显示大小。 df -m /var
-v AIX 特有选项,显示更详细的文件系统信息,包括文件系统类型、日志状态、是否可压缩等。 df -v /
-i inodes 显示 inode 的使用情况,而不是磁盘块,当磁盘空间未满但提示 No space left on device 时,通常是因为 inode 耗尽。 df -i /
-t type 只显示指定类型的文件系统。 df -t jfs2 / (只显示 jfs2 类型的文件系统)
-u used 显示已用空间和可用空间,而不是总空间和使用百分比。 df -u /
-l local 只显示本地文件系统,不显示 NFS 等远程文件系统。 df -l
-P portability 使用 POSIX 格式输出,每行一个条目,字段固定,这对于脚本编程非常有用。 df -P

输出字段详解

标准的 df -k 输出包含以下几个字段:

$ df -k /
Filesystem    512-blocks      Used    Available %Used Mounted on
/dev/hd4          524288    327680      196608   63% /
  • Filesystem: 文件系统的名称,通常是设备文件路径(如 /dev/hd4)或 NFS 路径(如 server:/export/data)。
  • 512-blocks: 文件系统的总大小,以 512 字节的块为单位,要换算成 KB,需要除以 2,524288 * 512 bytes = 268,435,456 bytes = 268,435 KB ≈ 262 MB。
  • Used: 已使用的空间,同样以 512 字节的块为单位。
  • Available: 可用空间,以 512 字节的块为单位。
  • %Used: 已使用空间占总空间的百分比,这是判断磁盘是否紧张的关键指标。
  • Mounted on: 文件系统的挂载点。

实用示例

示例 1:以 GB 为单位查看根文件系统

这是最常用的方式之一,可以快速了解根分区的使用情况。

aix系统下df命令如何查看特定文件系统的磁盘占用及inode使用情况?-图2
(图片来源网络,侵删)
$ df -g /
Filesystem     GB blocks      Used    Available %Used Mounted on
/dev/hd4            0.25       0.16          0.09   63% /

这里 25 GB 256 MB。

示例 2:查看所有 NFS 文件系统

使用 -t nfs 选项可以过滤出所有 NFS 文件系统。

$ df -t nfs
Filesystem         512-blocks      Used    Available %Used Mounted on
nfs_server:/data    104857600  41943040    62914560    40% /mnt/nfs_data

示例 3:检查 inode 使用情况

当系统提示空间不足,但 df 显示还有大量可用空间时,就应该检查 inode。

$ df -i /
Filesystem       Inodes   IUsed   IFree %IUsed Mounted on
/dev/hd4          131072   65536   65536    50% /

%IUsed 接近 100%,说明文件系统中有大量的小文件,需要清理。

aix系统下df命令如何查看特定文件系统的磁盘占用及inode使用情况?-图3
(图片来源网络,侵删)

示例 4:使用 AIX 特有的 -v 选项获取详细信息

df -v 提供了非常丰富的信息,对于排查问题非常有帮助。

$ df -v /
Filesystem       512-blocks      Used    Available %Used Mounted on
/dev/hd4          524288    327680      196608   63% /
                        Total bytes = 268435456
                        Free bytes = 100663296
                        .                       .
                        . (中间省略部分输出) .
                        .                       .
                        Log = /dev/hd8
                        Version = 4.2
                        Size = 268435456
                        Space = 100663296
                        Aggregate = yes
                        Compressed = no
                        User Quotas = no
                        Group Quotas = no
                        Journal = yes

-v 的输出中,你可以看到:

  • Log: 日志文件系统位置(对于 JFS2 文件系统很重要)。
  • Version: 文件系统版本。
  • Compressed: 是否启用了压缩。
  • Journal: 是否启用了日志功能。

示例 5:检查特定目录所在的文件系统

你可以将一个目录名作为参数,df 会告诉你该目录位于哪个文件系统上。

$ df /home/oracle
Filesystem    512-blocks      Used    Available %Used Mounted on
/dev/hd9var     2097152    819200     1277952   39% /home/oracle

这表示 /home/oracle 目录被挂载在 /dev/hd9var 这个文件系统上。


高级用法和脚本技巧

结合 grep 查找特定文件系统

在大型服务器上,文件系统很多,可以使用 grep 快速定位。

# 查找所有以 /dev/hd 开头的本地文件系统
df -g | grep "^/dev/hd"
# 查找使用率超过 80% 的文件系统
df -g | awk '$5 > 80 {print}'

使用 awk 进行格式化输出

df -P 的输出格式非常规整,非常适合用 awk 进行处理。

# 使用 awk 提取挂载点和使用率两列,并格式化输出
df -P | awk 'NR > 1 {printf "Mount: %s, Usage: %s\n", $6, $5}'

相关命令

  • du (disk usage): df 显示文件系统的总体空间,而 du 用于递归地计算指定目录或文件所占用的磁盘空间。du 可以帮你找到占用空间最大的目录或文件。
    # 查看 /var 目录下各个子目录的大小
    du -sh /var/*
  • lsfs (list file systems): 显示文件系统的静态配置信息,如设备名、挂载点、大小、日志设备等,它不提供实时使用情况。
    lsfs -a /dev/hd4
  • mount: 显示当前已挂载的文件系统列表,功能与 df 类似,但信息格式不同。

在 AIX 系统管理中,熟练掌握 df 命令是基础中的基础。

  • 日常快速检查: 使用 df -g
  • 排查空间不足问题: 先用 df -g,如果空间确实满了,用 du 找出大文件;如果空间没满,用 df -i 检查 inode。
  • 深入分析文件系统: 使用 df -v 查看文件系统属性。
  • 自动化监控: 将 df -gdf -P 的输出通过管道传递给 awkgrep,编写脚本进行自动化告警。
分享:
扫描分享到社交APP
上一篇
下一篇