组织并查看有关系统活动的数据。
根据特殊请求访问系统活动数据。
生成自动报告以测量和监视系统性能,并生成特殊请求报告以确定特定性能问题。有关如何设置要在系统上运行的 sar 命令的信息以及相应工具的说明,请参见自动收集系统活动数据 (sar)。
有关此命令的详细说明,请参见 sar(1) 手册页。
$ sar -a SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:00 iget/s namei/s dirbk/s 01:00:00 0 3 0 02:00:00 0 3 0 03:00:00 0 3 0 04:00:00 0 3 0 05:00:00 0 3 0 06:00:00 0 3 0 07:00:00 0 3 0 08:00:00 0 3 0 08:20:01 0 3 0 08:40:00 0 3 0 09:00:00 0 3 0 09:20:01 0 10 0 09:40:01 0 1 0 10:00:02 0 5 0 Average 0 4 0 |
以下列表介绍了 sar -a 命令报告的操作系统例程的字段名和说明。
对不位于目录名称查找高速缓存 (Directory Name Look-up Cache, DNLC) 中的 inode 发出的请求数。
每秒搜索的文件系统路径数。如果 namei 在 DNLC 中找不到目录名称,它会调用 iget 以获取文件或目录的 inode。因此,大多数 igets 都是 DNLC 遗漏的结果。
每秒发出的目录块读取数。
这些操作系统例程的报告值越大,内核访问用户文件所用的时间就越多。时间的长短将反映程序和应用程序使用文件系统的程度。-a 选项有助于查看磁盘与应用程序的相关情况。
使用 sar -b 命令可显示缓冲区活动统计信息。
缓冲区用于高速缓存元数据。元数据包括 inode、柱面组块和间接块。
$ sar -b 00:00:00 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s 01:00:00 0 0 100 0 0 55 0 0 |
下面的 sar -b 命令输出示例说明 %rcache 和 %wcache 缓冲区未引起速率下降。所有数据都在可接受的限制范围内。
$ sar -b SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s 01:00:00 0 0 100 0 0 94 0 0 02:00:01 0 0 100 0 0 94 0 0 03:00:00 0 0 100 0 0 92 0 0 04:00:00 0 1 100 0 1 94 0 0 05:00:00 0 0 100 0 0 93 0 0 06:00:00 0 0 100 0 0 93 0 0 07:00:00 0 0 100 0 0 93 0 0 08:00:00 0 0 100 0 0 93 0 0 08:20:00 0 1 100 0 1 94 0 0 08:40:01 0 1 100 0 1 93 0 0 09:00:00 0 1 100 0 1 93 0 0 09:20:00 0 1 100 0 1 93 0 0 09:40:00 0 2 100 0 1 89 0 0 10:00:00 0 9 100 0 5 92 0 0 10:20:00 0 0 100 0 0 68 0 0 10:40:00 0 1 98 0 1 70 0 0 11:00:00 0 1 100 0 1 75 0 0 Average 0 1 100 0 1 91 0 0 |
下表介绍了 -b 选项显示的缓冲区活动。
字段名 |
说明 |
---|---|
bread/s |
从磁盘提交至高速缓存存储区的每秒平均读取数 |
lread/s |
每秒从高速缓存存储区进行的平均逻辑读取数 |
%rcache |
在高速缓存存储区中找到的逻辑读取的分数(100 % 减去 bread/s 与 lread/s 之比) |
bwrit/s |
每秒平均从高速缓存存储区写入磁盘的物理块数(512 块) |
lwrit/s |
每秒平均对高速缓存存储区进行的逻辑写入数 |
%wcache |
在高速缓存存储区中找到的逻辑写入的分数(100 % 减去 bwrit/s 与 lwrit/s 之比) |
pread/s |
每秒平均使用字符设备接口的物理读取数 |
pwrit/s |
每秒平均使用字符设备接口的物理写入请求数 |
最重要的项是高速缓存命中率 %rcache 和 %wcache。这两项用于度量系统缓冲的有效性。如果 %rcache 低于 90% 或者 %wcache 低于 65%,则可通过增加缓冲区空间来改善性能。
使用 sar -c 命令可显示系统调用统计信息。
$ sar -c 00:00:00 scall/s sread/s swrit/s fork/s exec/s rchar/s wchar/s 01:00:00 38 2 2 0.00 0.00 149 120 |
以下示例显示 sar -c 命令的输出。
$ sar -c SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 scall/s sread/s swrit/s fork/s exec/s rchar/s wchar/s 01:00:00 89 14 9 0.01 0.00 2906 2394 02:00:01 89 14 9 0.01 0.00 2905 2393 03:00:00 89 14 9 0.01 0.00 2908 2393 04:00:00 90 14 9 0.01 0.00 2912 2393 05:00:00 89 14 9 0.01 0.00 2905 2393 06:00:00 89 14 9 0.01 0.00 2905 2393 07:00:00 89 14 9 0.01 0.00 2905 2393 08:00:00 89 14 9 0.01 0.00 2906 2393 08:20:00 90 14 9 0.01 0.01 2914 2395 08:40:01 90 14 9 0.01 0.00 2914 2396 09:00:00 90 14 9 0.01 0.01 2915 2396 09:20:00 90 14 9 0.01 0.01 2915 2396 09:40:00 880 207 156 0.08 0.08 26671 9290 10:00:00 2020 530 322 0.14 0.13 57675 36393 10:20:00 853 129 75 0.02 0.01 10500 8594 10:40:00 2061 524 450 0.08 0.08 579217 567072 11:00:00 1658 404 350 0.07 0.06 1152916 1144203 Average 302 66 49 0.02 0.01 57842 55544 |
下表介绍了 -c 选项报告的系统调用类别。通常,读取和写入占系统调用总数的一半。但是,该百分比会因系统所执行的活动而产生极大的变化。
字段名 |
说明 |
---|---|
scall/s |
每秒中所有类型的系统调用数,在具有 4 到 6 位用户的系统中,通常每秒大约有 30 个系统调用。 |
sread/s |
每秒的 read 系统调用数。 |
swrit/s |
每秒的 write 系统调用数。 |
fork/s |
每秒的 fork 系统调用数,在具有 4 到6 位用户的系统中,每秒中大约有 0.5 个该系统调用。如果正在运行 Shell 脚本,此数字会增加。 |
exec/s |
每秒的 exec 系统调用数。如果 exec/s 除以 fork/s 的结果大于 3,请确定是否存在无效的 PATH 变量。 |
rchar/s |
每秒由 read 系统调用传送的字符数(字节)。 |
wchar/s |
每秒由 write 系统调用传送的字符数(字节)。 |
此缩写示例演示了 sar -d 命令的输出。
$ sar -d SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 12:36:32 device %busy avque r+w/s blks/s avwait avserv 12:40:01 dad1 15 0.7 26 399 18.1 10.0 dad1,a 15 0.7 26 398 18.1 10.0 dad1,b 0 0.0 0 1 1.0 3.0 dad1,c 0 0.0 0 0 0.0 0.0 dad1,h 0 0.0 0 0 0.0 6.0 fd0 0 0.0 0 0 0.0 0.0 nfs1 0 0.0 0 0 0.0 0.0 nfs2 1 0.0 1 12 0.0 13.2 nfs3 0 0.0 0 2 0.0 1.9 nfs4 0 0.0 0 0 0.0 7.0 nfs5 0 0.0 0 0 0.0 57.1 nfs6 1 0.0 6 125 4.3 3.2 nfs7 0 0.0 0 0 0.0 6.0 sd1 0 0.0 0 0 0.0 5.4 ohci0,bu 0 0.0 0 0 0.0 0.0 ohci0,ct 0 0.0 0 0 0.0 0.0 ohci0,in 0 0.0 7 0 0.0 0.0 ohci0,is 0 0.0 0 0 0.0 0.0 ohci0,to 0 0.0 7 0 0.0 0.0 |
下表介绍了 -d 选项报告的磁盘设备活动。
字段名 |
说明 |
---|---|
device |
监视的磁盘设备的名称。 |
%busy |
设备忙于为传送请求提供服务的时间份额。 |
avque |
设备忙于为传送请求提供服务期间的平均请求数。 |
r+w/s |
每秒对设备进行的读取和写入传送数。 |
blks/s |
每秒传送给设备的 512 字节块的数量。 |
avwait |
传送请求在队列中空闲等待的平均时间,以毫秒为单位。仅当队列被占用时才测量此时间。 |
avserv |
设备完成传送请求所需的平均时间,以毫秒为单位。对于磁盘而言,此值包括查找时间、旋转延迟时间和数据传送时间。 |
请注意,在队列不为空时测量队列长度和等待时间。当 %busy 很小时,如果队列和服务时间很大,则可能表示系统进行周期性的努力,以确保将警报块快速写入磁盘。
使用 sar -g 命令可显示平均页出和内存释放活动。
$ sar -g 00:00:00 pgout/s ppgout/s pgfree/s pgscan/s %ufs_ipf 01:00:00 0.00 0.00 0.00 0.00 0.00 |
sar -g 命令的输出可以明确指示是否需要更多内存。使用 ps -elf 命令显示 page 守护程序使用的周期数。如果周期数很大,并且 pgfree/s 和 pgscan/s 字段的值也很大,则表明内存不足。
sar -g 命令还可表明是否回收 inode 的速率过快而引起可重用页丢失。
以下示例显示 sar -g 命令的输出。
$ sar -g SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:00 pgout/s ppgout/s pgfree/s pgscan/s %ufs_ipf 01:00:00 0.00 0.00 0.00 0.00 0.00 02:00:00 0.01 0.01 0.01 0.00 0.00 03:00:00 0.00 0.00 0.00 0.00 0.00 04:00:00 0.00 0.00 0.00 0.00 0.00 05:00:00 0.00 0.00 0.00 0.00 0.00 06:00:00 0.00 0.00 0.00 0.00 0.00 07:00:00 0.00 0.00 0.00 0.00 0.00 08:00:00 0.00 0.00 0.00 0.00 0.00 08:20:01 0.00 0.00 0.00 0.00 0.00 08:40:00 0.00 0.00 0.00 0.00 0.00 09:00:00 0.00 0.00 0.00 0.00 0.00 09:20:01 0.05 0.52 1.62 10.16 0.00 09:40:01 0.03 0.44 1.47 4.77 0.00 10:00:02 0.13 2.00 4.38 12.28 0.00 10:20:03 0.37 4.68 12.26 33.80 0.00 Average 0.02 0.25 0.64 1.97 0.00 |
下表介绍了 -g 选项的输出。
字段名 |
说明 |
---|---|
pgout/s |
每秒的页出请求数。 |
ppgout/s |
每秒调出的页的实际数量。单个页出请求可能涉及多个页的调出。 |
pgfree/s |
每秒放置在可用列表中的页数。 |
pgscan/s |
page 守护程序每秒扫描的页数。如果此值很大,则表明 page 守护程序花费大量时间来检查可用内存。此情况暗示,可能需要更多内存。 |
%ufs_ipf |
具有关联的可重用页的 iget 从可用列表中取消的 ufs inode 的百分比。这些页面被刷新,并且不能由进程回收。因此,此字段表示具有页面刷新的 igets 的百分比。如果该值很大,则表明 inode 的可用列表页面密集,并且可能需要增加 ufs inode 的数量。 |
KMA 允许内核子系统根据需要分配和释放内存。
KMA 并不是静态分配在峰值载荷下预计所需的最大内存量,而是将内存请求划分为三个类别:
小型(少于 256 字节)
大型(512 字节至 4 千字节)
超大型(大于 4 千字节)
KMA 保留两个内存池,以满足小型和大型请求。超大型请求则通过从系统页面分配器中分配内存来满足。
如果您所检查的系统用来编写使用 KMA 资源的驱动程序或 STREAMS,则 sar -k 命令可能很有用。否则,您可能不需要它所提供的信息。使用 KMA 资源但不一定在退出前返回资源的所有驱动程序或模块都可能产生内存泄漏。内存泄漏会导致 KMA 分配的内存量随事件而增加。因此,如果 sar -k 命令的 alloc 字段随时间稳定增加,则可能存在内存泄漏。表明存在内存泄漏的另一种情况是请求失败。如果出现此问题,内存泄漏很可能导致 KMA 无法保留和分配内存。
如果似乎存在内存泄漏,则应检查可能从 KMA 请求内存但未返回内存的所有驱动程序或 STREAMS。
使用 sar -k 命令可报告内核内存分配器 (Kernel Memory Allocator, KMA) 的以下活动。
$ sar -k 00:00:00 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail 01:00:00 2523136 1866512 0 18939904 14762364 0 360448 0 02:00:02 2523136 1861724 0 18939904 14778748 0 360448 0 |
下面是 sar -k 输出的缩写示例。
$ sar -k SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail 01:00:00 6119744 4852865 0 60243968 54334808 156 9666560 0 02:00:01 6119744 4853057 0 60243968 54336088 156 9666560 0 03:00:00 6119744 4853297 0 60243968 54335760 156 9666560 0 04:00:00 6119744 4857673 0 60252160 54375280 156 9666560 0 05:00:00 6119744 4858097 0 60252160 54376240 156 9666560 0 06:00:00 6119744 4858289 0 60252160 54375608 156 9666560 0 07:00:00 6119744 4858793 0 60252160 54442424 156 9666560 0 08:00:00 6119744 4858985 0 60252160 54474552 156 9666560 0 08:20:00 6119744 4858169 0 60252160 54377400 156 9666560 0 08:40:01 6119744 4857345 0 60252160 54376880 156 9666560 0 09:00:00 6119744 4859433 0 60252160 54539752 156 9666560 0 09:20:00 6119744 4858633 0 60252160 54410920 156 9666560 0 09:40:00 6127936 5262064 0 60530688 55619816 156 9666560 0 10:00:00 6545728 5823137 0 62996480 58391136 156 9666560 0 10:20:00 6545728 5758997 0 62996480 57907400 156 9666560 0 10:40:00 6734144 6035759 0 64389120 59743064 156 10493952 0 11:00:00 6996288 6394872 0 65437696 60935936 156 10493952 0 Average 6258044 5150556 0 61138340 55609004 156 9763900 0 |
下表介绍了 -k 选项的输出。
字段名 |
说明 |
---|---|
sml_mem |
KMA 在小型内存请求池中可用的内存量,以字节为单位。在此池中,小型请求小于 256 字节。 |
alloc |
KMA 已从其小型内存请求池向小型内存请求分配的内存量,以字节为单位。 |
fail |
请求少量内存并失败的请求数。 |
lg_mem |
KMA 在大型内存请求池中可用的内存量,以字节为单位。在此池中,大型请求介于 512 字节到 4 千字节之间。 |
alloc |
KMA 已从其大型内存请求池向大型内存请求分配的内存量,以字节为单位。 |
fail |
请求大量内存并失败的请求数。 |
ovsz_alloc |
为大于 4 千字节的超大型请求分配的内存量。这些请求可通过页面分配器来满足。因此,不存在池。 |
fail |
因请求超大量内存而失败的请求数。 |
$ sar -m 00:00:00 msg/s sema/s 01:00:00 0.00 0.00 |
除非运行使用消息或信号的应用程序,否则这些数字通常都为零 (0.00)。
以下列表介绍了 -m 选项的输出。
每秒的消息操作(发送和接收)数
每秒的信号操作数
以下缩写示例显示 sar -m 命令的输出。
$ sar -m SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:00 msg/s sema/s 01:00:00 0.00 0.00 02:00:02 0.00 0.00 03:00:00 0.00 0.00 04:00:00 0.00 0.00 05:00:01 0.00 0.00 06:00:00 0.00 0.00 Average 0.00 0.00 |
使用 sar -p 命令可报告页入活动,其中包括保护错误和转换错误。
$ sar -p 00:00:00 atch/s pgin/s ppgin/s pflt/s vflt/s slock/s 01:00:00 0.07 0.00 0.00 0.21 0.39 0.00 |
以下示例显示 sar -p 命令的输出。
$ sar -p SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 atch/s pgin/s ppgin/s pflt/s vflt/s slock/s 01:00:00 0.09 0.00 0.00 0.78 2.02 0.00 02:00:01 0.08 0.00 0.00 0.78 2.02 0.00 03:00:00 0.09 0.00 0.00 0.81 2.07 0.00 04:00:00 0.11 0.01 0.01 0.86 2.18 0.00 05:00:00 0.08 0.00 0.00 0.78 2.02 0.00 06:00:00 0.09 0.00 0.00 0.78 2.02 0.00 07:00:00 0.08 0.00 0.00 0.78 2.02 0.00 08:00:00 0.09 0.00 0.00 0.78 2.02 0.00 08:20:00 0.11 0.00 0.00 0.87 2.24 0.00 08:40:01 0.13 0.00 0.00 0.90 2.29 0.00 09:00:00 0.11 0.00 0.00 0.88 2.24 0.00 09:20:00 0.10 0.00 0.00 0.88 2.24 0.00 09:40:00 2.91 1.80 2.38 4.61 17.62 0.00 10:00:00 2.74 2.03 3.08 8.17 21.76 0.00 10:20:00 0.16 0.04 0.04 1.92 2.96 0.00 10:40:00 2.10 2.50 3.42 6.62 16.51 0.00 11:00:00 3.36 0.87 1.35 3.92 15.12 0.00 Average 0.42 0.22 0.31 1.45 4.00 0.00 |
下表介绍了通过 -p 选项报告的统计信息。
字段名 |
说明 |
---|---|
atch/s |
每秒通过回收当前在内存中的页来满足的页面错误数(每秒附加数)。例如从可用列表中回收无效的页,以及共享其他进程当前正在使用的文本页。例如,两个或多个进程同时访问同一程序文本。 |
pgin/s |
文件系统每秒接收页入请求的次数。 |
ppgin/s |
每秒调进的页数。单个页入请求(例如软件锁定请求,请参见 slock/s)或块大小很大时可能涉及多个页的调进。 |
pflt/s |
因保护错误引起的页面错误数。保护错误实例表明非法访问页面和“写复制”。通常,此数目主要包含“写复制”。 |
vflt/s |
每秒的地址转换页面错误数。这些错误称为有效性错误。当给定虚拟地址的有效进程表项不存在时,会发生有效性错误。 |
slock/s |
每秒内由要求物理 I/O 的软件锁定请求引起的错误数。例如,从磁盘向内存传输数据时,就会出现软件锁定请求。系统锁定了要接收数据的页,因此其他进程无法请求和使用该页。 |
队列被占用时的平均队列长度。
队列处于占用状态的时间百分比。
$ sar -q 00:00:00 runq-sz %runocc swpq-sz %swpocc |
以下列表介绍了 -q 选项的输出。
内存中等待 CPU 以便运行的内核线程数。通常,此值应小于 2。如果此值持续偏高,则表明系统可能计算密集 (CPU-bound)。
占用分发队列的时间百分比。
交换 sar 命令的进程队列。
交换 sar 命令的进程队列。
以下示例显示 sar -q 命令的输出。如果 %runocc 值较大(大于 90%)并且 runq-sz 值大于 2,则表明 CPU 负载较大,并且响应变慢。在此情况下,可能需要提供附加的 CPU 容量,才能获得可接受的系统响应速度。
# sar -q SunOS system2 5.10 Generic_142909-13 sun4u 06/28/2010 00:00:00 runq-sz %runocc swpq-sz %swpocc 01:00:00 1.0 7 0.0 0 02:00:00 1.0 7 0.0 0 03:00:00 1.0 7 0.0 0 04:00:00 1.0 7 0.0 0 05:00:00 1.0 6 0.0 0 06:00:00 1.0 7 0.0 0 Average 1.0 7 0.0 0 |
使用 sar -r 命令可报告当前未使用的内存页数和交换文件磁盘块数。
$ sar -r 00:00:00 freemem freeswap 01:00:00 2135 401922 |
以下列表介绍了 -r 选项的输出:
在该命令采样的时间间隔内可供用户进程使用的平均内存页数。页面大小与计算机有关。
可用于页交换的 512 字节磁盘块数。
以下示例显示 sar -r 命令的输出。
$ sar -r SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 freemem freeswap 01:00:00 44717 1715062 02:00:01 44733 1715496 03:00:00 44715 1714746 04:00:00 44751 1715403 05:00:00 44784 1714743 06:00:00 44794 1715186 07:00:00 44793 1715159 08:00:00 44786 1714914 08:20:00 44805 1715576 08:40:01 44797 1715347 09:00:00 44761 1713948 09:20:00 44802 1715478 09:40:00 41770 1682239 10:00:00 35401 1610833 10:20:00 34295 1599141 10:40:00 33943 1598425 11:00:00 30500 1561959 Average 43312 1699242 |
$ sar -u 00:00:00 %usr %sys %wio %idle 01:00:00 0 0 0 100 |
没有任何选项的 sar 命令与 sar -u 命令等效。在任意给定时刻,处理器都会处于繁忙或空闲状态。繁忙时,处理器可能处于用户模式或系统模式。空闲时,处理器可能在等待 I/O 完成,或“静止”而不执行任何操作。
以下列表介绍了 -u 选项的输出:
列出处理器处于用户模式的时间百分比。
列出处理器处于系统模式的时间百分比。
列出处理器空闲并等待 I/O 完成的时间百分比。
列出处理器空闲并且未等待 I/O 的时间百分比。
%wio 值越大,通常表示磁盘速率变慢。
以下示例显示 sar -u 命令的输出。
$ sar -u SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 %usr %sys %wio %idle 01:00:00 0 0 0 100 02:00:01 0 0 0 100 03:00:00 0 0 0 100 04:00:00 0 0 0 100 05:00:00 0 0 0 100 06:00:00 0 0 0 100 07:00:00 0 0 0 100 08:00:00 0 0 0 100 08:20:00 0 0 0 99 08:40:01 0 0 0 99 09:00:00 0 0 0 99 09:20:00 0 0 0 99 09:40:00 4 1 0 95 10:00:00 4 2 0 94 10:20:00 1 1 0 98 10:40:00 18 3 0 79 11:00:00 25 3 0 72 Average 2 0 0 98 |
使用 sar -v 命令可报告进程表、inode 表、文件表和共享内存记录表的状态。
$ sar -v 00:00:00 proc-sz ov inod-sz ov file-sz ov lock-sz 01:00:00 43/922 0 2984/4236 0 322/322 0 0/0 |
以下缩写示例显示 sar -v 命令的输出。此示例表明,所有表都足够大,因此没有溢出。这些表都基于物理内存量进行动态分配。
$ sar -v SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 proc-sz ov inod-sz ov file-sz ov lock-sz 01:00:00 69/8010 0 3476/34703 0 0/0 0 0/0 02:00:01 69/8010 0 3476/34703 0 0/0 0 0/0 03:00:00 69/8010 0 3476/34703 0 0/0 0 0/0 04:00:00 69/8010 0 3494/34703 0 0/0 0 0/0 05:00:00 69/8010 0 3494/34703 0 0/0 0 0/0 06:00:00 69/8010 0 3494/34703 0 0/0 0 0/0 07:00:00 69/8010 0 3494/34703 0 0/0 0 0/0 08:00:00 69/8010 0 3494/34703 0 0/0 0 0/0 08:20:00 69/8010 0 3494/34703 0 0/0 0 0/0 08:40:01 69/8010 0 3494/34703 0 0/0 0 0/0 09:00:00 69/8010 0 3494/34703 0 0/0 0 0/0 09:20:00 69/8010 0 3494/34703 0 0/0 0 0/0 09:40:00 74/8010 0 3494/34703 0 0/0 0 0/0 10:00:00 75/8010 0 4918/34703 0 0/0 0 0/0 10:20:00 72/8010 0 4918/34703 0 0/0 0 0/0 10:40:00 71/8010 0 5018/34703 0 0/0 0 0/0 11:00:00 77/8010 0 5018/34703 0 0/0 0 0/0 |
下表介绍了 -v 选项的输出。
字段名 |
说明 |
---|---|
proc-sz |
内核中当前正在使用或已分配的进程项(proc 结构)数。 |
inod-sz |
与内核中分配的最大 inode 数相比,内存中的 inode 总数。此数字不是严格的高水位标记。该数字可以溢出。 |
file-sz |
打开的系统文件表的大小。由于文件表的空间是动态分配的,因此 sz 被给定为 0。 |
ov |
在每个表的采样点之间发生的溢出。 |
lock-sz |
内核中当前正在使用或分配的共享内存记录表项的数量。由于共享内存记录表的空间是动态分配的,因此 sz 被给定为 0。 |
使用 sar -w 命令可报告交换和切换活动。
$ sar -w 00:00:00 swpin/s bswin/s swpot/s bswot/s pswch/s 01:00:00 0.00 0.0 0.00 0.0 22 |
以下列表介绍了 sar -w 命令输出的目标值和观测值。
每秒传入内存的 LWP 数。
每秒为换入传送的块数 /* (float)PGTOBLK(xx->cvmi.pgswapin) / sec_diff */。
每秒换出内存的平均进程数。如果该数字大于 1,则可能需要增大内存。
每秒为换出传送的块数。
每秒的内核线程切换数。
所有进程换入都包括进程初始化。
以下示例显示 sar -w 命令的输出。
$ sar -w SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 swpin/s bswin/s swpot/s bswot/s pswch/s 01:00:00 0.00 0.0 0.00 0.0 132 02:00:01 0.00 0.0 0.00 0.0 133 03:00:00 0.00 0.0 0.00 0.0 133 04:00:00 0.00 0.0 0.00 0.0 134 05:00:00 0.00 0.0 0.00 0.0 133 06:00:00 0.00 0.0 0.00 0.0 133 07:00:00 0.00 0.0 0.00 0.0 132 08:00:00 0.00 0.0 0.00 0.0 131 08:20:00 0.00 0.0 0.00 0.0 133 08:40:01 0.00 0.0 0.00 0.0 132 09:00:00 0.00 0.0 0.00 0.0 132 09:20:00 0.00 0.0 0.00 0.0 132 09:40:00 0.00 0.0 0.00 0.0 335 10:00:00 0.00 0.0 0.00 0.0 601 10:20:00 0.00 0.0 0.00 0.0 353 10:40:00 0.00 0.0 0.00 0.0 747 11:00:00 0.00 0.0 0.00 0.0 804 Average 0.00 0.0 0.00 0.0 198 |
$ sar -y 00:00:00 rawch/s canch/s outch/s rcvin/s xmtin/s mdmin/s 01:00:00 0 0 0 0 0 0 |
如果有多个终端 I/O,则可使用此报告来确定是否存在任何错误行。以下列表中定义了记录的活动。
每秒输入字符数(原始队列)。
canon(规则队列)每秒处理的输入字符数。
每秒输出字符数(输出队列)。
每秒接收器硬件中断次数。
每秒传送器硬件中断次数。
每秒调制解调器中断次数。
每秒调制解调器中断次数 (mdmin/s) 应接近于零。每秒的接收和传送中断次数(rcvin/s 和 xmtin/s)应分别小于或等于传入或传出字符数。否则,请检查是否存在错误行。
以下示例显示 sar -y 命令的输出。
$ sar -y SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 rawch/s canch/s outch/s rcvin/s xmtin/s mdmin/s 01:00:00 0 0 0 0 0 0 02:00:01 0 0 0 0 0 0 03:00:00 0 0 0 0 0 0 04:00:00 0 0 0 0 0 0 05:00:00 0 0 0 0 0 0 06:00:00 0 0 0 0 0 0 07:00:00 0 0 0 0 0 0 08:00:00 0 0 0 0 0 0 08:20:00 0 0 0 0 0 0 08:40:01 0 0 0 0 0 0 09:00:00 0 0 0 0 0 0 09:20:00 0 0 0 0 0 0 09:40:00 0 0 1 0 0 0 10:00:00 0 0 37 0 0 0 10:20:00 0 0 0 0 0 0 10:40:00 0 0 3 0 0 0 11:00:00 0 0 3 0 0 0 Average 0 0 1 0 0 0 |