AIX命令参考大全,卷 4,n - r - netpmon 命令

[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 4,n - r

netpmon 命令

用途

监视网络 I/O 和与网络相关的 CPU 使用的活动并报告它们的统计信息。

语法

netpmon [ -o File ] [ -d ] [ -T n ] [ -P ] [ -t ] [ -v ] [ -O ReportType ... ] [ -i Trace_File -n Gennames_File ]

描述

netpmon 命令监视系统事件的跟踪,并报告网络活动和受监视时间间隔内的性能。缺省情况下,当一个或多个应用程序或系统命令在执行并受监视时,netpmon 命令在后台运行。netpmon 命令自动地启动并监视与网络相关的系统事件实时跟踪。缺省情况下,跟踪立即启动;也可选择延缓跟踪直到用户发出 trcon 命令。当跟踪被 trcstop 命令停止时,netpmon 命令生成全部指定报告并退出。

netpmon 命令也可以离线方式工作,也就是说基于以前生成的跟踪文件工作。在这种方式下,由 gennames 命令生成的文件也是必需的。跟踪停止后,在同一机器上应立即生成 gunnames 文件。当以离线方式运行时,netpmon 命令不能标识套接字所使用的协议,这限制了套接字报告中可用的详细信息级别。

netpmon 命令报告下列系统活动:

注:netpmon 命令不能在 NFS3(ONC+) 下工作
CPU 使用
netpmon 命令监视所有的线程和中断处理程序的 CPU 使用。它估计与网络相关的活动导致的 CPU 的使用量。
网络设备驱动程序 I/O
netpmon 命令监视通过微通道以太网、令牌环和光纤分布式数据接口(FDDI)网络设备驱动程序的 I/O 操作。在传输 I/O 的情况下,命令也监视利用情况、队列长度和目标主机。对于接收标识,命令也监视在 demux 层的时间。
因特网套接字调用
netpmon 命令监视所有的因特网套接字上的 sendrecvsendtorecvfromreadwrite 子例程。它针对下列各种协议类型,报告了基于每个处理的统计信息:
NFS I/O
netpmon 命令监视在客户机网络文件系统(NFS)文件上的 readwrite 子例程,客户机 NFS 远程过程调用(RPC)请求和 NFS 服务器的读或写请求。该命令为每个服务器报告了基于每个进程或每个线程以及基于每个文件的子例程统计信息。netpmon 命令为每个服务器报告客户机 RFC 统计信息,并为每个客户机报告服务器读和写统计信息。

上述报告类型的任何组合可由命令行标志指定。缺省情况下,将生成全部报告。

注: netpmon 命令生成的报告可能会相当长。因此,-o 标志通常用来将报告写入一个输出文件。netpmon 命令使用系统跟踪工具获取性能数据。跟踪工具只支持一个输出流。因此,只有一个 netpmontrace 进程在某一时间内是活动的。如果另一个 netpmontrace 进程已经运行,则 netpmon 命令用以下消息响应:

/dev/systrace: 设备占用

当监视网络密集的应用程序时,netpmon 命令可能无法以和实时生成跟踪事件一样快的速度来消耗跟踪事件。当这种情况发生时,错误消息:

跟踪内核缓冲区溢出,丢失 N 项

显示标准错误,表示当跟踪缓冲区满时,多少跟踪事件丢失。netpmon 命令继续监视网络活动,但是在某种未知程度上报告准确性降低了。避免溢出的一个方法是使用 -T 标志来增加跟踪缓冲区的大小,以便可以在溢出前容纳更多的突发跟踪事件。另一个避免所有溢出问题的方法是以离线方式运行 netpmon。

当在内存约束的环境中运行(此时对内存的需求超出内存供给量)时,-P 标志可用于锁住内存中的实时 netpmon 进程的文本和数据页,使数据页不能被交换出内存。如果不使用 -P 标志,则允许 netpmon 进程被交换出内存,以至于 netpmon 命令的进度可能被延迟而使它不能足够快地处理跟踪事件以防止跟踪缓冲区溢出。

如果 /unix 文件和正在运行的内核不同,则内核地址是不正确的,导致 netpmon 命令退出。

标志

-d 启动 netpmon 命令,但延迟跟踪直到用户执行 trcon 命令。缺省情况下,跟踪立即启动。
-i Trace_File 从由 trace 命令生成的文件 Trace_File 中而不是从现有系统中读取跟踪记录。跟踪文件首先必须在原始格式下使用 trcpt -r 命令重写。本标志必须与 -n 标志一起使用。
-n Gennames_File 从由 gennames 命令生成的文件 Gennames_File 读取必需的映射信息。在使用 -i 标志时,必须使用本标志。
-o File 将报告写入指定的 File,而不是写入标准输出。
-O ReportType ... 生成指定报表类型。有效的报告类型值为:
cpu
CPU 使用
dd
网络设备驱动程序 I/O
so
因特网套接字调用 I/O
nfs
NFS I/O
all
生成全部报告。这是缺省值。
-P 锁定内存中的监视进程。本标志致使 netpmon 文本和数据页在监视周期内在内存中被锁定。本标志被用来确保实时 netpmon 进程在内存约束的环境中运行时不会耗尽内存空间。
-t 基于每个线程打印 CPU 报告。
-T n 设置内核跟踪缓冲区大小为 n 字节。缺省大小为 64000 字节。可增加缓冲区大小以便容纳更多的突发事件(如果有突发事件)。(典型的事件记录大小约为 30 字节。)

注: 内核中的跟踪驱动程序使用双缓冲区,因此实际上分配的是大小为 n 字节的两个缓冲区。这些缓冲区在内存被锁住,因而它们无法进行页面调度。
-v 在报告中打印额外信息。所有进程和所有被访问的远程文件被包含到报告中而不是只有 20 个最活跃的进程和文件。

报告

报告由 netpmon 命令生成并以报头开始,它标识日期,机器标识和监视周期长度(以秒计)。接下来紧跟的是一系列的所有指定报告类型的总结和详细报告。

CPU 使用报告

处理 CPU 使用统计信息: 每行描述与一个进程有关的 CPU 使用。除非指定详细选项,否则只有 20 个最活跃的进程被列出。在报告的底端,总计了所有进程的 CPU 使用,并报告 CPU 空闲时间。

进程
进程名称
PID
进程标识号
CPU 时间
此进程使用的 CPU 时间总量
CPU %
该进程的 CPU 使用占总时间的百分比
网络 CPU %
进程花费在执行与网络相关的代码上的时间占总时间的百分比
线程 CPU 使用统计信息
如果使用 -t 标志,上述每个进程行后将跟着显示该进程拥有的每个线程的 CPU 使用描述行。这些行中的字段与该进程的那些字段相同,名称字段除外。(线程未命名。)

一级中断处理程序使用统计信息: 每行描述与一级中断处理程序(FLIH)相关的 CPU 使用。在报告的底端,总计了所有 FILH 的 CPU 使用。

FLIH
一级中断处理程序描述
CPU 时间
该 FLIH 使用的 CPU 时间总量
CPU %
此中断处理程序的 CPU 使用占总时间的百分比
网络 CPU %
此中断处理程序执行与网络相关的事件的时间占总时间的百分比

二级中断处理程序使用统计信息: 每行描述与二级中断处理程序(FLIH)相关的 CPU 使用。在报告的底端,总计了所有 SILH 的 CPU 使用。

SLIH
二级中断处理程序描述
CPU 时间
此 SLIH 使用的 CPU 时间总量
CPU %
此中断处理程序的 CPU 使用占总时间的百分比
网络 CPU %
此中断处理程序执行与网络相关的事件的时间占总时间的百分比

总结网络设备驱动程序报告

网络设备驱动程序统计信息(按设备): 每行描述与网络设备有关的统计信息。

设备
与设备有关的特殊文件路径名称
Xmit Pkts/s
通过该设备每秒发送的信息包
Xmit Bytes/s
通过该设备每秒发送的字节
Xmit Util
设备忙的时间,占总时间的百分比
Xmit Qlen
平均一段时间内,正在等待以通过该设备发送的请求数,包含当前正被发送的任何事务。
Recv Pkts/s
通过该设备每秒接收的信息包
Recv Bytes/s
通过该设备每秒接收的字节
Recv Demux
demux 层所用时间,占总时间的百分比

网络设备驱动程序传输统计信息(按目标主机): 每行描述在设备驱动程序级上与特定目标主机有关的传输流量。

主机
目标主机名称。*(星号)用于无法确定其主机名的传输。
Pkts/s
每秒传输到此主机的信息包数
Xmit Bytes/s
每秒传输到此主机的字节数

总结因特网套接字报告

进程
进程名称
PID
进程标识号
Read Calls/s
由该类型套接字上的此进程每秒生成的 readrecvrecvfrom 子例程数目。
Read Bytes/s
以上调用每秒所请求的字节
Write Calls/s
由该类型套接字上的该进程每秒生成的 writesend sendto 子例程数目。
Write Bytes/s
此进程每秒写入该协议类型套接字的字节

总结 NFS 报告

每个服务器的 NFS 客户机统计信息(按文件):每行描述与从该服务器远程安装的文件有关的 read/write 子例程活动数目。除非指定详细选项,否则只有顶部的 20 个文件被列出。在报告的底端,总计了该服务器上的全部文件调用。

文件
简单文件名
Read Calls/s
该文件上的每秒 read 子例程数目
Read Bytes/s
以上调用每秒所请求的字节
Write Calls/s
该文件上的每秒 write 子例程数目
Write Bytes/s
每秒写入该文件的字节

NFS 客户机 RPC 统计信息(按服务器):每行描述由该客户机对于特定 NFS 服务器的 NFS 远程过程调用的数目。在报告的底端,总计了所有服务器调用。

服务器
服务器主机名称。*(星号)用于无法确定其主机名的 RPC 调用。
Calls/s
每秒所产生的对该服务器的 NFS RPC 调用数目。

NFS 客户机统计信息(按进程):每行描述与特定进程有关的 NFS read/write 子例程活动数目。除非指定详细选项,否则只有顶部的 20 个进程被列出。在报告的底端,总计了所有进程的调用。

进程
进程名称
PID
进程标识号
Read Calls/s
由该进程每秒生成的 NFS read 子例程数目
Read Bytes/s
以上调用每秒所请求的字节
Write Calls/s
由该进程每秒生成的 NFS write 子例程数目
Write Bytes/s
由该进程每秒写入 NFS 安装文件的字节

NFS 服务器统计信息(按客户机):每行描述由该服务器为特定客户机处理的 NFS 活动数目。在报告的底端,总计了所有客户机的调用。

客户机
客户机主机名称。
Read Calls/s
每秒该客户机处理的远程读取请求数目
Read Bytes/s
每秒由该客户机的读取调用所请求的字节
Write Calls/s
每秒该客户机处理的远程写请求数目
Write Bytes/s
由该客户机每秒写入的字节
Other Calls/s
每秒该客户机处理的其它远程请求数目

详细报告

生成任意指定的报告类型的详细报告。对于这些报告类型,将生成大多数摘要报告的详细报告。详细报告包含了摘要报告中的每一项以及与该项有关的每一类型事务的统计信息。

事务统计信息包含该类型的事务计数,紧跟着是响应时间和大小分布数据(适用处)。分布数据包含平均值、最大值和最小值,以及标准偏差。大约三分之二的值是介于 average - standard deviation average + standard deviation 之间。大小以字节为单位报告。响应时间以毫秒为单位报告。

详细的二级中断处理程序 CPU 使用统计信息:

SLIH
二级中断处理程序名称
计数
该类型中断数目
CPU 时间(毫秒)
处理该类型的中断的 CPU 使用统计信息

详细的网络设备驱动程序统计信息(按设备):

设备
与设备有关的特殊文件的路径名称
Recv 信息包
通过该设备接收的信息包数目
Recv 大小(字节)
所接收的信息包的大小统计信息
Recv 时间(毫秒)
处理所接收的信息包的响应时间统计信息
Xmit 信息包
传输到该主机的信息包数目
Demux 时间(毫秒)
在 demux 层处理所接收的信息包的时间统计信息
Xmit 大小(字节)
传输的信息包的大小统计信息
Xmit 时间(毫秒)
处理传输的信息包的响应时间统计信息

详细的网络设备驱动程序传输统计信息(按主机):

主机
目标主机名称。
Xmit 信息包
通过该设备传输的信息包数目
Xmit 大小(字节)
传输的信息包的大小统计信息
Xmit 时间(毫秒)
处理传输的信息包的响应时间统计信息

每个网际协议的详细套接字调用统计信息(按进程):(联机方式)
每个进程的详细套接字调用统计信息:(离线方式)

进程
进程名称
PID
进程标识号
由该类型套接字上的该进程生成的 readrecvrecvfromrecvmsg 子例程数目。
Read 大小(字节)
read 调用的大小统计信息
Read 时间(毫秒)
read 调用的响应时间统计信息
由该类型套接字上的该进程生成的 writesendsendtosendmsg 子例程数目。
Write 大小(字节)
write 调用的大小统计信息
Write 时间(毫秒)
write 调用的响应时间统计信息

每个服务器的详细 NFS 客户机统计信息(按文件):

文件
文件路径名称
该文件的 NFS read 子例程数目
Read 大小(字节)
read 调用的大小统计信息
Read 时间(毫秒)
read 调用的响应时间统计信息
该文件的 NFS write 子例程数目
Write 大小(字节)
write 调用的大小统计信息
Write 时间(毫秒)
write 调用的响应时间统计信息

详细的 NFS 客户机 RPC 统计信息(按服务器):

服务器
服务器主机名称。
调用
对该服务器生成的 NFS 客户机 RPC 调用数目
Call 时间(毫秒)
RPV 调用的响应时间统计信息

详细的 NFS 客户机统计信息(按进程):

进程
进程名称
PID
进程标识号
由该进程所生成的 NFS read 子例程数目
Read 大小(字节)
read 调用的大小统计信息
Read 时间(毫秒)
read 调用的响应时间统计信息
由该进程所生成的 NFS write 子例程数目
Write 大小(字节)
write 调用的大小统计信息
Write 时间(毫秒)
write 调用的响应时间统计信息

详细的 NFS 服务器统计信息(按客户机):

客户机
客户机主机名称
从该客户机接收到的 NFS 读取请求数目
Read 大小(字节)
读取请求的大小统计信息
Read 时间(毫秒)
读取请求的响应时间统计信息
从该客户机接收到的 NFS 写请求数目
Write 大小(字节)
写请求的大小统计信息
Write 时间(毫秒)
写请求的响应时间统计信息
Other Calls
从该客户机接收到的其它 NFS 请求数目
Other 时间(毫秒)
其它请求的响应时间统计信息

示例

  1. 为监视特定应用程序执行期间的网络活动和生成所有报告类型,请输入:

    netpmon
    <run application programs and commands here>
    trcstop

    netpmon 命令自动启动系统跟踪并将自己放入后台。应用程序和系统命令在这时可以运行。在发出 trcstop 命令后,所有报告显示在标准输出中。

  2. 要生成 CPU 和 NFS 报告类型并将报告写入 nmon.out 文件,请输入:

    netpmon -o nmon.out -O cpu,nfs
    <run application programs and commands here>
    trcstop

    netpmon 命令立即启动系统跟踪。在发出 trcstop 命令后,I/O 活动报告被写入 nmon.out 文件。只有 CPU 和 NFS 报告将被生成。

  3. 要生成所有报告类型并将详细输出写入 nmon.out 文件,请输入:

    netpmon -v -o nmon.out
    <run application programs and commands here>
    trcstop

    在详细输出中,netpmon 命令指出正在采取的启动跟踪的步骤。摘要和详细报告包含所有文件和进程,而不是仅包含 20 个最活跃的文件和进程。

  4. 要以离线方式使用 netpmon 命令,请输入:

    trace -a
    run application programs and commands here
    trcoff
    gennames > gen.out
    trcstop
    trcrpt -r /var/adm/ras/trcfile > tracefile.r
    netpmon -i tracefile.r -n gen.out -o netpmon.out

相关信息

trcstop 命令、trace 命令、gennames 命令。

recv 子例程、recvfrom 子例程、send 子例程、sendto 子例程和 trcoff 子例程。

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]