首页 > 操作系统 >UNIX磁盘空间使用情况监控

UNIX磁盘空间使用情况监控

来源:互联网 2026-07-31 16:41:09

说到磁盘监控,很多管理员的第一反应就是 df。这个工具就像系统管理员手上的瑞士军刀,简单却致命。不过,你真的了解 df 的所有潜力吗?本系列文章就是要把这些日常管理中的利器一一拆解,分享那些在实战中摸爬滚打积累下来的命令行技巧和脚本搭档。目标只有一个:让异种环境下的系统管理更顺手、更高效。 入门:使

说到磁盘监控,很多管理员的第一反应就是 df。这个工具就像系统管理员手上的瑞士军刀,简单却致命。不过,你真的了解 df 的所有潜力吗?本系列文章就是要把这些日常管理中的利器一一拆解,分享那些在实战中摸爬滚打积累下来的命令行技巧和脚本搭档。目标只有一个:让异种环境下的系统管理更顺手、更高效。

入门:使用 df

磁盘空间监控,是每个 UNIX 管理员躲不开的日常课。而 df 工具就像一张快照,一次性把所有文件系统的存储状况摆在你面前。不同 UNIX 发行版给出的默认输出五花八门,但万变不离其宗——磁盘空间、使用量、可用量,以及挂载点信息,基本都能一眼看到。比如基于 BSD 的 Mac OS X,默认输出是这样的:

长期稳定更新的攒劲资源: >>>点此立即查看<<<

清单 1. Mac OS X 的默认磁盘空间信息

Filesystem    512-blocks      Used     A vail Capacity  Mounted on
/dev/disk0s2   268435456 119741344 148182112    45%    /
devfs                195       195         0   100%    /dev
fdesc                  2         2         0   100%    /dev
             1024      1024         0   100%    /.vol

清单 2. 使用带 -k 选项的 df 命令

$ df -k
Filesystem    1K-blocks      Used     A vail Capacity  Mounted on
/dev/disk0s2  134217728  59870704  74091024    45%    /
devfs                97        97         0   100%    /dev
fdesc                 1         1         0   100%    /dev
             512       512         0   100%    /.vol
/dev/disk0s3   21737260   3625724  18111536    17%    /Volumes/Untitled

有些版本还支持更灵活的块大小,比如 -m 显示兆字节、-g 显示千兆字节。清单 3 展示了千兆字节的效果:

清单 3. 使用带 -g 选项的 df 命令

$ df -g
Filesystem    1G-blocks Used A vail Capacity  Mounted on
/dev/disk0s2        128   57    70    45%    /
devfs                 0    0     0   100%    /dev
fdesc                 0    0     0   100%    /dev
               0    0     0   100%    /.vol
/dev/disk0s3         20    3    17    17%    /Volumes/Untitled

块越大,细节越粗,但对于快速扫一眼超大规模磁盘来说,这种粗颗粒度的信息反而更实用。另一个需要注意的点:Solaris 的 df 默认会输出空闲块和文件数量的信息。很多文件系统都有最大文件数的硬限制(虽然通常大到你不会碰到),但理论上存在一种情况——磁盘还有空间,但文件节点已经用尽,新文件就写不进去了。清单 4 是 Solaris 的默认输出:

清单 4. Solaris 的默认输出

$ df
/                  (/dev/dsk/c0t0d0s0 ):14877208 blocks   914042 files
/devices           (/devices          ):       0 blocks        0 files
/system/contract   (ctfs              ):       0 blocks 2147483618 files
/proc              (proc              ):       0 blocks    16109 files
/etc/mnttab        (mnttab            ):       0 blocks        0 files
/etc/svc/volatile  (swap              ): 5737216 blocks   147177 files
/system/object     (objfs             ):       0 blocks 2147483532 files
/usr               (/dev/dsk/c0t0d0s3 ): 9076010 blocks   863695 files
/dev/fd            (fd                ):       0 blocks        0 files
/var               (/dev/dsk/c0t0d0s4 ): 8110796 blocks   483714 files
/tmp               (swap              ): 5737216 blocks   147177 files
/var/run           (swap              ): 5737216 blocks   147177 files
/export/home       (/dev/dsk/c0t0d0s7 ):69362510 blocks  4272812 files

加上 -k 选项,输出就能变成更熟悉的摘要格式(清单 5):

清单 5. 使用 -k 选项

$ df -k
Filesystem            kbytes    used   a vail capacity  Mounted on
/dev/dsk/c0t0d0s0    7644629  206026 7362157     3%    /
/devices                   0       0       0     0%    /devices
ctfs                       0       0       0     0%    /system/contract
proc                       0       0       0     0%    /proc
mnttab                     0       0       0     0%    /etc/mnttab
swap                 2868600    1016 2867584     1%    /etc/svc/volatile
objfs                      0       0       0     0%    /system/object
/dev/dsk/c0t0d0s3    8261237 3723232 4455393    46%    /usr
fd                         0       0       0     0%    /dev/fd
/dev/dsk/c0t0d0s4    4130238   74849 4014087     2%    /var
swap                 2867584       0 2867584     0%    /tmp
swap                 2867624      40 2867584     1%    /var/run
/dev/dsk/c0t0d0s7    35611388  930133 34325142     3%    /export/home

几乎所有 df 变种都允许传入一个目录路径,然后只显示包含该路径的文件系统信息。比如查看根文件系统:

$ df -k /
Filesystem            kbytes    used   a vail capacity  Mounted on
/dev/dsk/c0t0d0s0    7644629  206026 7362157     3%    /

或者查看某个用户的 home 目录:

$ df -k ~mc
Filesystem             kbytes    used    a vail capacity  Mounted on
/dev/dsk/c0t0d0s7    35611388  930133 34325142     3%    /export/home

使用 df 的输出

df 这个名字其实就是 disk free 的缩写,输出的就是磁盘还剩多少空间。把上面任意一行拆开来看,有几个关键列值得留意:

Filesystem             kbytes    used    a vail capacity  Mounted on
/dev/dsk/c0t0d0s7    35611388  930133 34325142     3%    /export/home

第一列(通常标有块大小单位)显示磁盘总容量;used 是已用块数;a vail 是剩余可用块数;而 capacity 则是已用空间的百分比——这个百分比本身就能让你对磁盘紧张程度有个直观判断。

默认情况下,UNIX 文件系统会为普通用户保留 90% 的空间用于存放数据,剩下 10% 预留给 root 做紧急维护。一旦普通用户写入文件超过这 90% 的限制,系统就会报“磁盘空间不足”。这预留的 10% 就是管理员最后的救命稻草:可以用它来就地创建临时备份、压缩已有数据,而不必依赖另一个文件系统。当然,你可以用 tunefs 或在创建文件系统时调整这个保留比例。对大容量磁盘来说,10% 的预留可能意味着几个 GB 甚至几十 GB 的“闲置”空间。行业里常见的做法是至少保留 1%,这样在磁盘满之前还能留一点缓冲。不过在动手调整比例之前——尤其是当磁盘已经用得差不多的时候——你得先搞清楚,到底是谁把这些空间吃掉的。

上一页1 2 3 4 下一页 阅读全文

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备2026025700号-3 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。