fsstat [-A|a|f|i|n|v|Z] [-T d|u] [[-z zone]...] {-F | {fstype|path}...} [interval [count]]
fsstat 按照文件系统类型 (fstype) 或路径名称(转换为挂载点)报告内核文件操作的活动。第一组输出行报告自以下事件后的所有活动:
装入文件系统模块(使用 fstype 时)
挂载文件系统(使用挂载点时)
在独立于文件系统的层收集 fstype 和挂载点级别的统计信息。但是,在收集统计信息时,并不会表示所有文件系统类型。(请参见本手册页的“附注”部分。)
fsstat 的输出取决于请求的模式(选项)。所有统计信息字段都使用“智能数字”显示,其单位会自动调节,将值表示为最长 5 个字符的用户可读形式。例如:
显示为 100
显示为 2K
显示为 2.86M
单位修饰符包括:K(千字节)、M(兆字节)、G(千兆字节)、T(兆兆字节)、P(千兆兆字节)和 E(艾字节)。
在执行 fsstat 的过程中,系统的状态可能发生变化。如果相关,fsstat 输出中会包含以下某一格式的状态更改消息:
<<mount point no longer available: {path}>> <<file system module no longer loaded: {fstype}>> <<zone no longer active: {zonename}>> <<zone now active: {zonename}>>
在显示状态更改消息后,fsstat 继续根据指示显示统计信息。如果 fsstat 报告的所有 fstypes 和挂载点不再可用,fsstat 将退出。
用户需要指定 –F 选项(所有可用文件系统类型)或者一个或多个 fstypes 和/或挂载点的列表。
缺省报告显示常规文件系统活动。该报告将相似操作划分为以下常规类别:
文件系统对象(例如,文件、目录、符号链接等)的创建操作的数目
名称删除操作的数目
名称更改操作的数目
对象属性检索操作的数目
对象属性更改操作的数目
对象查找操作的数目
读取目录操作的数目
数据读取操作的数目
数据读取操作传输的字节数
数据写入操作的数目
数据写入操作传输的字节数
所报告的实体(fstype 或挂载点)在最后一列中显示。
支持以下选项:
报告指定 fstype 跨所有区域的汇总活动。如果 –z 和 –Z 均未指定,则此为缺省行为。
在与 –z 或 –Z 一起使用时,–A 选项将在单独一行中报告指定 fstype 跨所有区域的汇总。
报告内核属性操作的活动。可以报告以下统计信息:
文件属性检索调用的数目
文件属性修改调用的数目
文件安全属性检索调用的数目
文件安全属性修改调用的数目
所报告的实体(fstype 或挂载点)在最后一列中显示。
报告所有可用文件系统类型。
报告所有内核文件操作的全部活动。每个文件操作都在左列中显示。可以报告每个操作的以下统计信息:
此操作的调用数目
平均传输大小(仅适用于 read、write 和 readdir),以字节为单位
所报告的实体(fstype 或挂载点)在第一行中显示。
报告内核 I/O 操作的活动。可以报告以下统计信息:
数据读取调用的数目
读取的字节数
数据写入调用的数目
写入的字节数
读取目录调用的数目
读取目录时读取的字节数
内部文件系统锁定操作的数目
内部文件系统解锁操作的数目
所报告的实体(fstype 或挂载点)在最后一列中显示。
报告内核命名操作的活动。可以报告以下统计信息:
文件名检索调用的数目
文件创建调用的数目
文件删除调用的数目
链接调用的数目
文件重命名调用的数目
目录创建调用的数目
目录删除调用的数目
目录读取调用的数目
符号链接创建调用的数目
符号链接读取调用的数目
所报告的实体(fstype 或挂载点)在最后一列中显示。
报告虚拟内存操作的调用活动。可以报告以下统计信息。
映射文件的调用数目
为已映射文件设置其他映射的调用数目
删除文件映射的调用数目
从文件中检索数据页的调用数目
将数据页写入文件的调用数目
转换文件系统交换文件的页面的调用数目
所报告的实体(fstype 或挂载点)在最后一列中显示。
显示时间戳。
指定 u 表示输出形式为内部的时间表示形式(请参见 time(2))指定 d 表示标准日期格式。(请参见 date(1))。仅在设置了 interval 时才使用时间戳。
报告每个区域的区域活动。
在与 –z 一起使用时,指定 –Z 没有任何效果。
报告指定区域内的活动。可以指定多个 –z 选项来监视多个区域。如果指定了 –z,仅向用户通知显式指定的区域的状态更改情况。
支持下列操作数:
仅显示 count 个报告。
显式指定要报告的文件系统类型。必须已装入文件系统模块。
每 interval 秒报告一次。
指定要报告的挂载点的路径。如果路径不是挂载点,将确定包含该路径的挂载点并在输出中显示该挂载点。
如果未指定 interval 和 count,将会输出一份报告,然后 fsstat 退出。如果指定了 interval 但未指定 count,则 fsstat 会无限期地每隔 interval 秒输出报告,直至命令中断。
在某些示例中,fsstat 输出会超出 80 个字符宽的显示屏。
示例 1 显示常规活动以下示例显示所有文件系统类型的常规活动。
$ fsstat -F new name name attr attr lookup rddir read read write write file remov chng get set ops ops ops bytes ops bytes 313K 214K 38.5K 2.16M 56.2K 8.36M 52.8K 19.7M 39.9G 18.8M 39.1G ufs 0 0 0 2.95K 0 3.81K 282 2.52K 466K 0 0 proc 0 0 0 0 0 0 0 0 0 0 0 nfs 10 8 2 86 9 98 15 413 103M 8.43K 1.05G zfs 13 14 4 98 16 125 10 1.01K 258M 15.9K 127M lofs 8.73K 3.29K 5.25K 55.3K 37 1.20M 44 37.9K 38.3M 47.2K 35.9M tmpfs 0 0 0 4.93K 0 0 0 1.08K 913K 0 0 mntfs 3 2 1 503 3 897 13 122 25.8K 128 272K nfs3 10 8 0 615 10 10.1K 18 61 45.6K 292 2.26M nfs4示例 2 显示命名活动
以下示例显示 ufs、nfs、nfs3、nfs4 和 tmpfs 的命名活动:
$ fsstat -n ufs nfs nfs3 nfs4 tmpfs lookup creat remov link renam mkdir rmdir rddir symlnk rdlnk 3.57M 3.10K 586 6 24 115 100 30.2K 5 330K ufs 0 0 0 0 0 0 0 0 0 0 nfs 18.3K 3 5 0 0 0 0 1.03K 2 346 nfs3 535 0 0 0 0 0 0 46 0 4 nfs4 146 24 15 0 0 4 0 4 0 0 tmpfs示例 3 显示属性活动
以下示例显示文件系统类型 ufs 以及挂载的文件系统 "/" 和 "/export/home" 的属性活动,以三秒为间隔显示三次:
# fsstat -a ufs / /export/home 3 3 getattr setattr getsec setsec 378K 91.9K 11.8K 0 ufs 367K 82.3K 11.6K 0 / 11.3K 9.6K 198 0 /export/home 4.97K 2.27K 163 0 ufs 3.94K 1.36K 162 0 / 1.03K 927 1 0 /export/home 2.30K 1.06K 73 0 ufs 1.95K 766 71 0 / 361 317 2 0 /export/home 2.33K 1.06K 78 0 ufs 1.64K 451 77 0 / 711 631 1 0 /export/home示例 4 显示文件操作统计信息
以下示例显示 “/” 的每个文件操作的统计信息(使用 –f 选项):
$ fsstat -f / Mountpoint: / operation #ops bytes open 8.54K close 9.8K read 43.6K 65.9M write 1.57K 2.99M ioctl 2.06K setfl 4 getattr 40.3K setattr 38 access 9.19K lookup 203K create 595 remove 56 link 0 rename 9 mkdir 19 rmdir 0 readdir 2.02K 2.27M symlink 4 readlink 8.31K fsync 199 inactive 2.96K fid 0 rwlock 47.2K rwunlock 47.2K seek 29.1K cmp 42.9K frlock 4.45K space 8 realvp 3.25K getpage 104K putpage 2.69K map 13.2K addmap 34.4K delmap 33.4K poll 287 dump 0 pathconf 54 pageio 0 dumpctl 0 dispose 23.8K getsecattr 697 setsecattr 0 shrlock 0 vnevent 0示例 5 显示所有区域的区域统计信息
以下示例显示系统中每个区域的区域统计信息以及两个 fstype(tmpfs 和 zfs)在系统范围的汇总。
$ fsstat -A -Z tmpfs zfs new name name attr attr lookup rddir read read write write file remov chng get set ops ops ops bytes ops bytes 125K 116K 8.92K 846K 1.25K 1.36M 252 1013K 913M 1.52M 1.55G tmpfs 98.9K 89.8K 8.87K 600K 1.19K 1.33M 226 394K 253M 1.04M 1.07G tmpfs:global 2.49K 2.42K 32 20.5K 45 3.82K 26 56.8K 85.8M 43.9K 69.5M tmpfs:zone1 23.3K 23.3K 13 226K 13 24.1K 0 562K 574M 452K 425M tmpfs:zone2 82.7K 232K 77.6K 4.72M 73.6K 22.7M 464K 2.88M 6.17G 828K 8.19G zfs 82.1K 231K 77.3K 4.46M 73.5K 21.8M 444K 2.53M 5.71G 809K 8.12G zfs:global 102 88 28 83.3K 68 326K 3.16K 238K 307M 10.5K 54.2M zfs:zone1 499 204 255 179K 34 599K 17.4K 125K 163M 8.85K 21.8M zfs:zone2示例 6 显示指定区域的区域统计信息
以下示例显示区域 zone1 和 zone2 的区域统计信息以及两个 fstype(tmpfs 和 zfs)在系统范围的汇总。
$ fsstat -A -Z zone1 -z zone2 tmpfs zfs new name name attr attr lookup rddir read read write write file remov chng get set ops ops ops bytes ops bytes 125K 116K 8.92K 846K 1.25K 1.36M 252 1013K 913M 1.52M 1.55G tmpfs 2.49K 2.42K 32 20.5K 45 3.82K 26 56.8K 85.8M 43.9K 69.5M tmpfs:zone1 23.3K 23.3K 13 226K 13 24.1K 0 562K 574M 452K 425M tmpfs:zone2 82.7K 232K 77.6K 4.72M 73.6K 22.7M 464K 2.88M 6.17G 828K 8.19G zfs 102 88 28 83.3K 68 326K 3.16K 238K 307M 10.5K 54.2M zfs:zone1 499 204 255 179K 34 599K 17.4K 125K 163M 8.85K 21.8M zfs:zone2示例 7 示例 7 仅显示全局区域的统计信息
以下示例仅显示所有 fstype 的全局区域活动。
$ fsstat -z global -F new name name attr attr lookup rddir read read write write file remov chng get set ops ops ops bytes ops bytes 0 0 0 0 0 0 0 0 0 0 0 ufs:global 0 0 0 171K 0 289K 2.05K 628K 262M 230K 10.6M proc:global 0 0 0 0 0 0 0 0 0 0 0 nfs:global 82.1K 231K 77.3K 4.46M 73.5K 21.8M 444K 2.53M 5.71G 809K 8.12G zfs:global 0 0 0 357K 0 0 0 0 0 0 0 lofs:global 98.9K 89.8K 8.87K 600K 1.19K 1.33M 226 394K 253M 1.04M 1.07G tmpfs:global 0 0 0 15.4K 0 0 0 7.44K 1.03M 0 0 mntfs:global 0 0 0 9.34K 0 9.24K 0 0 0 0 0 autofs:global 0 0 0 0 0 0 0 0 0 0 0 nfs3:global 2 3 0 9.16K 12 104K 4 46 179K 12 43.0K nfs4:global
有关影响 fsstat 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL 、LC_CTYPE、LC_MESSAGES、LC_TIME 和 NLSPATH。
将返回以下退出值:
成功完成。
发生了致命错误。致命错误可能是系统调用失败或其他内部错误。
指定的命令行选项无效。
有关下列属性的说明,请参见 attributes(5):
|
命令行选项为 Uncommitted(未确定)。用户可读的输出不视为接口。
所有显示选项(–a、–f、–i、–n 和 –v)都是互斥的。输入一个以上的选项将产生错误。
在命令行中,fstype 和 path 操作数必须位于选项之后,interval 或 count 之前。例如,“fsstat –a fstype interval”。fstype 具有优先权,因此,如果用户希望查看名称与 fstype 相同的目录(例如 ufs)的统计信息,必须明确地指定路径(例如 ./ufs)。同样,要定义名称为数值(例如 “10“)的文件,为了区别于 interval 或 count 操作数,文件名必须包含相应前缀(例如 ./10)。
当使用间隔时,在显示的统计信息超过 12 行以及按当前间隔要显示的行全部结束后,标题将会重复显示。
不显示所有伪文件系统的统计信息。采用 –F 选项显示的输出会显示受支持的已装入文件系统类型。
fsstat 可能无法识别非随附的文件系统。
命令行选项属于 "Uncommitted"(未确定)类别并且可能会更改。输出不视为接口。不建议基于这些命令行选项或者 fsstat 的输出构建较高级别的软件工具。