手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

fsstat(1M)

名称

fsstat - 报告文件系统统计信息

用法概要

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

显示为 100

2048

显示为 2K

3000000

显示为 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 和/或挂载点的列表。

缺省报告显示常规文件系统活动。该报告将相似操作划分为以下常规类别:

new file

文件系统对象(例如,文件、目录、符号链接等)的创建操作的数目

name remov

名称删除操作的数目

name chng

名称更改操作的数目

attr get

对象属性检索操作的数目

attr set

对象属性更改操作的数目

lookup ops

对象查找操作的数目

rddir ops

读取目录操作的数目

read ops

数据读取操作的数目

read bytes

数据读取操作传输的字节数

write ops

数据写入操作的数目

write bytes

数据写入操作传输的字节数

所报告的实体(fstype 或挂载点)在最后一列中显示。

选项

支持以下选项:

–A

报告指定 fstype 跨所有区域的汇总活动。如果 –z–Z 均未指定,则此为缺省行为。

在与 –z–Z 一起使用时,–A 选项将在单独一行中报告指定 fstype 跨所有区域的汇总。

–a

报告内核属性操作的活动。可以报告以下统计信息:

getattr

文件属性检索调用的数目

setattr

文件属性修改调用的数目

getsec

文件安全属性检索调用的数目

setsec

文件安全属性修改调用的数目

所报告的实体(fstype 或挂载点)在最后一列中显示。

–F

报告所有可用文件系统类型。

–f

报告所有内核文件操作的全部活动。每个文件操作都在左列中显示。可以报告每个操作的以下统计信息:

#ops

此操作的调用数目

bytes

平均传输大小(仅适用于 read、write 和 readdir),以字节为单位

所报告的实体(fstype 或挂载点)在第一行中显示。

–i

报告内核 I/O 操作的活动。可以报告以下统计信息:

read ops

数据读取调用的数目

read bytes

读取的字节数

write ops

数据写入调用的数目

write bytes

写入的字节数

rddir ops

读取目录调用的数目

rddir bytes

读取目录时读取的字节数

rwlock ops

内部文件系统锁定操作的数目

rwulock ops

内部文件系统解锁操作的数目

所报告的实体(fstype 或挂载点)在最后一列中显示。

–n

报告内核命名操作的活动。可以报告以下统计信息:

lookup

文件名检索调用的数目

creat

文件创建调用的数目

remov

文件删除调用的数目

link

链接调用的数目

renam

文件重命名调用的数目

mkdir

目录创建调用的数目

rmdir

目录删除调用的数目

rddir

目录读取调用的数目

symlink

符号链接创建调用的数目

rdlink

符号链接读取调用的数目

所报告的实体(fstype 或挂载点)在最后一列中显示。

–v

报告虚拟内存操作的调用活动。可以报告以下统计信息。

map

映射文件的调用数目

addmap

为已映射文件设置其他映射的调用数目

delmap

删除文件映射的调用数目

getpag

从文件中检索数据页的调用数目

putpag

将数据页写入文件的调用数目

pagio

转换文件系统交换文件的页面的调用数目

所报告的实体(fstype 或挂载点)在最后一列中显示。

–T u|d

显示时间戳。

指定 u 表示输出形式为内部的时间表示形式(请参见 time(2))指定 d 表示标准日期格式。(请参见 date(1))。仅在设置了 interval 时才使用时间戳。

–Z

报告每个区域的区域活动。

在与 –z 一起使用时,指定 –Z 没有任何效果。

–z [zonename]

报告指定区域内的活动。可以指定多个 –z 选项来监视多个区域。如果指定了 –z,仅向用户通知显式指定的区域的状态更改情况。

操作数

支持下列操作数:

count

仅显示 count 个报告。

fstype

显式指定要报告的文件系统类型。必须已装入文件系统模块。

interval

interval 秒报告一次。

path

指定要报告的挂载点的路径。如果路径不是挂载点,将确定包含该路径的挂载点并在输出中显示该挂载点。

如果未指定 intervalcount,将会输出一份报告,然后 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 显示所有区域的区域统计信息

以下示例显示系统中每个区域的区域统计信息以及两个 fstypetmpfszfs)在系统范围的汇总。

$ 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 显示指定区域的区域统计信息

以下示例显示区域 zone1zone2 的区域统计信息以及两个 fstypetmpfszfs)在系统范围的汇总。

$ 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。

退出状态

将返回以下退出值:

0

成功完成。

1

发生了致命错误。致命错误可能是系统调用失败或其他内部错误。

2

指定的命令行选项无效。

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os
CSI
Enabled(已启用)
接口稳定性
请参见下文。

命令行选项为 Uncommitted(未确定)。用户可读的输出不视为接口。

另请参见

date(1)time(2)attributes(5)

附注

所有显示选项(–a–f–i–n–v)都是互斥的。输入一个以上的选项将产生错误。

在命令行中,fstypepath 操作数必须位于选项之后,intervalcount 之前。例如,“fsstat –a fstype interval”。fstype 具有优先权,因此,如果用户希望查看名称与 fstype 相同的目录(例如 ufs)的统计信息,必须明确地指定路径(例如 ./ufs)。同样,要定义名称为数值(例如 “10“)的文件,为了区别于 interval 或 count 操作数,文件名必须包含相应前缀(例如 ./10)。

当使用间隔时,在显示的统计信息超过 12 行以及按当前间隔要显示的行全部结束后,标题将会重复显示。

不显示所有伪文件系统的统计信息。采用 –F 选项显示的输出会显示受支持的已装入文件系统类型。

fsstat 可能无法识别非随附的文件系统。

命令行选项属于 "Uncommitted"(未确定)类别并且可能会更改。输出不视为接口。不建议基于这些命令行选项或者 fsstat 的输出构建较高级别的软件工具。