WEB开发网
开发学院操作系统Linux/Unix IBM AIX V5.3 系统管理(Test 222)认证指南系列,第... 阅读

IBM AIX V5.3 系统管理(Test 222)认证指南系列,第 4 部分:监视和性能优化(下)(2)

 2008-11-10 08:29:05 来源:WEB开发网   
核心提示:iostat 命令iostat 命令用于报告 CPU 统计信息、异步输入/输出 (AIO) 统计信息,以及整个系统、适配器、TTY 设备、磁盘和 CD-ROM 的输入/输出统计信息,IBM AIX V5.3 系统管理(Test 222)认证指南系列,第 4 部分:监视和性能优化(下)(2),我们建议在下列情况下使用 i

iostat 命令

iostat 命令用于报告 CPU 统计信息、异步输入/输出 (AIO) 统计信息,以及整个系统、适配器、TTY 设备、磁盘和 CD-ROM 的输入/输出统计信息。

我们建议在下列情况下使用 iostat 命令:

系统功能正常,并且您希望建立系统性能的基准。

系统遇到了性能问题。

对磁盘子系统做出了硬件或软件更改。

更改了卷组、逻辑卷和文件系统的属性。

对操作系统做出了更改。

对应用程序做出了更改。

使用 iostat 确定磁盘利用率

可以使用 iostat 命令确定某个物理磁盘是否已成为了性能瓶颈。iostat 命令提供的有关磁盘活动的信息包括:

% tm_act 物理磁盘的活动时间百分比。

KBPS 该磁盘上传输(读或写)的数据总量。

tps 该物理磁盘每秒的 IO 传输请求数量。

Kb_read 从磁盘读取的数据总量。

Kb_wrtn 写到磁盘的数据总量。

如果 %tm_act 字段显示磁盘非常忙,并且 Kbps 字段显示持续的大量数据传输,您应该考虑在多个磁盘驱动器之间分散数据。此命令可以支持动态配置更改。如果检测到配置更改,则 iostat 报告将发出一个警告,并刷新最新的系统配置。

在下面的示例中,我们使用 iostat -T -d 1 60 命令监视从 11:40:21 开始的 60 秒内的磁盘活动。

示例 使用 iostat 命令检查磁盘瓶颈

# iostat -T -d 1 60
System configuration:lcpu=4 drives=9 paths=8 vdisks=0
Disks:% tm_act   Kbps   tps  Kb_read  Kb_wrtn time
hdisk2     100.0   10740.0   2685.0   10740     0 11:40:21
hdisk7      0.0    0.0    0.0     0     0 11:40:21
hdisk3      0.0    0.0    0.0     0     0 11:40:21
hdisk4      0.0    0.0    0.0     0     0 11:40:21
hdisk0     97.0   10960.0   2740.0   10960     0 11:40:21
hdisk1     96.0   10716.0   2679.0   10716     0 11:40:21
Disks:% tm_act   Kbps   tps  Kb_read  Kb_wrtn time
hdisk5      0.0    0.0    0.0     0     0 11:40:21
hdisk6      0.0    0.0    0.0     0     0 11:40:21
cd0       0.0    0.0    0.0     0     0 11:40:21
hdisk2     100.0   10076.0   2520.0   10076     0 11:40:22
hdisk7      0.0    0.0    0.0     0     0 11:40:22
hdisk3      0.0    0.0    0.0     0     0 11:40:22
hdisk4      0.0    0.0    0.0     0     0 11:40:22
hdisk0     99.0   10352.0   2588.0   10352     0 11:40:22
hdisk1     99.0   10108.0   2527.0   10108     0 11:40:22
hdisk5      0.0    0.0    0.0     0     0 11:40:22
hdisk6      0.0    0.0    0.0     0     0 11:40:22
cd0       0.0    0.0    0.0     0     0 11:40:22
hdisk2     99.0   10928.0   2732.0   10928     0 11:40:23
hdisk7      0.0    0.0    0.0     0     0 11:40:23
hdisk3      0.0    0.0    0.0     0     0 11:40:23
hdisk4      0.0    0.0    0.0     0     0 11:40:23
hdisk0     98.0   11112.0   2778.0   11112     0 11:40:23
hdisk1     99.0   10956.0   2738.0   10956     0 11:40:23
hdisk5      0.0    0.0    0.0     0     0 11:40:23
hdisk6      0.0    0.0    0.0     0     0 11:40:23
cd0       0.0    0.0    0.0     0     0 11:40:23
hdisk2     97.0   10560.0   2640.0   10560     0 11:40:24
hdisk7      0.0    0.0    0.0     0     0 11:40:24
hdisk3      0.0    0.0    0.0     0     0 11:40:24
Disks:% tm_act   Kbps   tps  Kb_read  Kb_wrtn time
hdisk4      0.0    0.0    0.0     0     0 11:40:24
hdisk0     100.0   10208.0   2552.0   10208     0 11:40:24
hdisk1     98.0   10600.0   2651.0   10600     0 11:40:24
hdisk5      0.0    0.0    0.0     0     0 11:40:24
hdisk6      0.0    0.0    0.0     0     0 11:40:24
cd0       0.0    0.0    0.0     0     0 11:40:24
.
.
.
(省略的行)
.

.

.

如果希望显示有关某个特定磁盘的更详细统计信息,可以使用 iostat –D 命令。在下面的示例中,我们在磁盘 hdisk0 上人为创建磁盘活动,然后每隔两秒创建十个磁盘性能报告。

示例 详细的磁盘活动监视

# dd if=/dev/hdisk0 of=/dev/null &
[1]   409844
# iostat -D hdisk0 2 10
System configuration:lcpu=4 drives=7 paths=6 vdisks=0
hdisk0     xfer:%tm_act   bps   tps   bread   bwrtn
72.5   15.0M  3673.5    15.0M    0.0
read:rps avgserv minserv maxserv  timeouts   fails
            3673.5   0.2   0.2   1.3      0     0
write:wps avgserv minserv maxserv  timeouts   fails
             0.0   0.0   0.0   0.0      0     0
queue:avgtime mintime maxtime avgwqsz  avgsqsz   sqfull
             0.0   0.0   0.0   0.0    0.2      0
--------------------------------------------------------------------------------
hdisk0     xfer:%tm_act   bps   tps   bread   bwrtn
78.5   15.1M  3680.5    15.1M    0.0
read:rps avgserv minserv maxserv  timeouts   fails
            3681.0   0.2   0.2   5.6      0     0
write:wps avgserv minserv maxserv  timeouts   fails
     9223372036854775808.0   0.0   0.0   0.0      0     0
queue:avgtime mintime maxtime avgwqsz  avgsqsz   sqfull
             0.0   0.0   0.0   0.0    0.2      0
--------------------------------------------------------------------------------
hdisk0     xfer:%tm_act   bps   tps   bread   bwrtn
77.0   15.1M  3688.0    15.1M    0.0
read:rps avgserv minserv maxserv  timeouts   fails
            3688.0   0.2   0.2   5.6      0     0
write:wps avgserv minserv maxserv  timeouts   fails
             0.0   0.0   0.0   0.0      0     0
queue:avgtime mintime maxtime avgwqsz  avgsqsz   sqfull
             0.0   0.0   0.0   0.0    0.2      0
--------------------------------------------------------------------------------
hdisk0     xfer:%tm_act   bps   tps   bread   bwrtn
73.0   14.9M  3646.0    14.9M    0.0
read:rps avgserv minserv maxserv  timeouts   fails
            3646.0   0.2   0.2   11.3      0     0
write:wps avgserv minserv maxserv  timeouts   fails
             0.0   0.0   0.0   0.0      0     0
queue:avgtime mintime maxtime avgwqsz  avgsqsz   sqfull
             0.0   0.0   0.0   0.0    0.2      0
-------------------------------------------------------------------------------
.
.
.
(省略的行)
.

.

.

如果您在使用启用了多路经输入-输出 (MPIO) 的设备,可以使用 iostat –m 命令显示对应于每个路径的统计信息。

使用 iostat 确定 CPU 利用率

可以使用 iostat 命令监视并提供有关 CPU 活动的统计信息,这些统计信息对于确定潜在的 CPU 问题会非常有用。iostat 提供的有关 CPU 活动的信息包括:

tin 系统从所有 TTY 读取的字符总数。

tout 系统写到所有 TTY 的字符总数。

%user 在用户模式下执行时的 CPU 利用率百分比。

% sys 在内核模式下执行时的 CPU 利用率百分比。

%idle CPU 处于空闲并且系统没有未完成的磁盘 I/O 请求情况下的时间百分比。

% iowait CPU 在系统有未完成的磁盘 I/O 请求期间的空闲时间百分比。

%physc 已使用的物理处理器百分比,仅当分区使用共享处理器运行时才显示。

% entc 已使用的有权使用的容量百分比,仅当分区使用共享处理器运行时才显示。

在下面的示例中,我们使用 iostat -T -t 1 60 命令监视从 11:40:21 开始的 60 秒内的 CPU 活动。

示例 使用 iostat 检查 CPU 活动

# iostat -T -t 1 60
System configuration:lcpu=4               
tty:tin     tout  avg-cpu:% user % sys % idle % iowait time
2.0      936.0   17.1  32.8  6.9   43.2  11:40:21
5.0      1532.0   16.6  31.3  6.8   45.3  11:40:22
0.0      746.0    17.3  32.6  7.9   42.2  11:40:23
0.0      745.0    16.8  31.9  7.2   44.1  11:40:24
.
.
.
(省略的行)

.

.

.

使用 iostat 确定 AIO 利用率

可以使用 iostat –A 命令(获得异步 I/O (AIO) 统计信息,其中包括:

avgc 指定间隔期间平均每秒的全局非快速路径 AIO 请求计数。

avgc 指定间隔期间平均每秒的全局 AIO 快速路径请求计数

maxg 自从上次获取此值以来的最大全局非快速路径 AIO 请求计数

maxf 自从上次获取此值以来的最大快速路径请求计数

maxr 允许的最大 AIO 请求数量。这是 AIO 设备的 maxreqs 属性。

示例使用 iostat -A 命令监视 AIO 活动

# dd if=/dev/hdisk0 of=/dev/null &
[1]   311456
# dd if=/dev/hdisk1 of=/dev/null &
[2]   274580
# dd if=/dev/hdisk4 of=/dev/null &
[3]   315546
# dd if=/dev/hdisk5 of=/dev/null &
[4]   323742
# iostat -A 1 10
System configuration:lcpu=4 drives=9 paths=8 vdisks=0
aio:avgc avfc maxg maif maxr avg-cpu:% user % sys % idle % iowait
    0  0  0  0 4096      23.9 42.9  10.8   22.5
Disks:% tm_act   Kbps   tps  Kb_read  Kb_wrtn
hdisk5     63.2   11128.3   2781.1   11796     0
hdisk2      0.0    0.0    0.0     0     0
hdisk4     58.5   11064.2   2765.1   11728     0
hdisk3      0.0    0.0    0.0     0     0
hdisk7      0.0    0.0    0.0     0     0
hdisk1     61.3   10660.4   2666.0   11300     0
hdisk0     51.9   10920.8   2731.1   11576     0
hdisk6      0.0    0.0    0.0     0     0
cd0       0.0    0.0    0.0     0     0
aio:avgc avfc maxg maif maxr avg-cpu:% user % sys % idle % iowait
    0  0  0  0 4096      23.8 42.7  11.5   22.0
Disks:% tm_act   Kbps   tps  Kb_read  Kb_wrtn
hdisk5     59.0   11636.0   2910.0   11636     0
hdisk2      0.0    0.0    0.0     0     0
hdisk4     68.0   11588.0   2897.0   11588     0
hdisk3      0.0    0.0    0.0     0     0
hdisk7      0.0    0.0    0.0     0     0
hdisk1     54.0   11448.0   2862.0   11448     0
hdisk0     67.0   11564.0   2891.0   11564     0
hdisk6      0.0    0.0    0.0     0     0
cd0       0.0    0.0    0.0     0     0
aio:avgc avfc maxg maif maxr avg-cpu:% user % sys % idle % iowait
    0  0  0  0 4096      23.6 42.8  11.1   22.5
Disks:% tm_act   Kbps   tps  Kb_read  Kb_wrtn
hdisk5     71.0   11724.0   2930.0   11724     0
hdisk2      0.0    0.0    0.0     0     0
hdisk4     68.0   11616.0   2904.0   11616     0
hdisk3      0.0    0.0    0.0     0     0
hdisk7      0.0    0.0    0.0     0     0
hdisk1     68.0   11212.0   2803.0   11212     0
hdisk0     66.0   11352.0   2838.0   11352     0
hdisk6      0.0    0.0    0.0     0     0
cd0       0.0    0.0    0.0     0     0
.
.
.
(省略的行)

.

.

.

如果希望显示所有已安装文件系统和关联的队列编号以及其请求计数的列表,可以使用 iostat –AQ 命令,如示例所示。

示例使用 iostat - AQ 命令

# iostat -AQ
System configuration:lcpu=4               
aio:avgc avfc maxg maif maxr avg-cpu:% user % sys % idle % iowait
    0  0  0  0 4096      16.3 29.5  38.6   15.6
Queue#     Count     Filesystems
129      0       /
130      0       /usr
132      0       /var
133      0       /tmp
136      0       /home
137      0       /proc
138      0       /opt

使用 iostat 确定适配器利用率

可以使用 iostat 命令确定适配器活动。iostat 命令提供的有关适配器活动的信息包括:

KBPS 传输到该适配器(读或写)的总数据量。

tps 该适配器每秒的 IO 传输请求数量。

Kb_read 从适配器读取的数据总量。

Kb_wrtn 写到适配器的数据总量。

对于虚拟适配器,此命令还将显示:

KBPS 传输到该适配器(读或写)的总数据量。

tps 该适配器每秒的 IO 传输请求数量。

bkread 每秒从承载服务器发送到该适配器的总块数。

bkwrtn 每秒从该适配器写到承载服务器的总块数。

partition-id 为适配器发送的请求提供服务的承载服务器的分区 ID。

在下面的示例中,我们在 hdisk0、hdisk1、hdisk4 和 hdisk5 上人为创建活动,然后每秒创建十个适配器性能报告。

示例中使用 iostat 命令检查适配器性能

# dd if=/dev/hdisk0 of=/dev/null &
[2]   380936
# dd if=/dev/hdisk1 of=/dev/null &
[3]   344184
# dd if=/dev/hdisk4 of=/dev/null &
[4]   405516
# dd if=/dev/hdisk5 of=/dev/null &
[5]   430240
# iostat -a 1 10|more
System configuration:lcpu=4 drives=7 paths=6 vdisks=0
tty:tin     tout  avg-cpu:% user % sys % idle % iowait
     3.0     73.0        22.7 39.9  9.7   27.7
Adapter:Kbps   tps  Kb_read  Kb_wrtn
sisioa1         22224.0   5556.0   22224     0
Disks:% tm_act   Kbps   tps  Kb_read  Kb_wrtn
hdisk5     58.0   11096.0   2774.0   11096     0
hdisk4     62.0   11128.0   2782.0   11128     0
Adapter:Kbps   tps  Kb_read  Kb_wrtn
sisioa0         22256.0   5564.0   22256     0
Disks:% tm_act   Kbps   tps  Kb_read  Kb_wrtn
hdisk0     94.0   11344.0   2837.0   11344     0
hdisk1     62.0   10912.0   2727.0   10912     0
hdisk2      0.0    0.0    0.0     0     0
hdisk3      0.0    0.0    0.0     0     0
Adapter:Kbps   tps  Kb_read  Kb_wrtn
ide0            0.0    0.0     0     0
Disks:% tm_act   Kbps   tps  Kb_read  Kb_wrtn
cd0       0.0    0.0    0.0     0     0
tty:tin     tout  avg-cpu:% user % sys % idle % iowait
     0.0    1306.0        22.6 39.9  8.9   28.5

如果希望显示有关适配器活动的更多详细信息,可以使用 iostat -a –D 命令,如示例所示。

示例 详细的适配器活动监视

# iostat -D -a|more
System configuration:lcpu=4 drives=7 paths=6 vdisks=0
Adapter:
sisioa1       xfer:bps   tps  bread   bwrtn
61.6K  15.0   61.6K    0.0
Disks:
hdisk5        xfer:%tm_act   bps   tps   bread   bwrtn
0.2   30.5K   7.5    30.5K    0.0
read:rps avgserv minserv maxserv  timeouts   fails
                7.5   0.2   0.2   13.3      0     0
write:wps avgserv minserv maxserv  timeouts   fails
                0.0   0.0   0.0   0.0      0     0
queue:avgtime mintime maxtime avgwqsz  avgsqsz   sqfull
                0.0   0.0   0.8   0.0    0.0      0
hdisk4        xfer:%tm_act   bps   tps   bread   bwrtn
0.2   31.0K   7.6    31.0K    0.0
read:rps avgserv minserv maxserv  timeouts   fails
                7.6   0.2   0.2   11.4      0     0
write:wps avgserv minserv maxserv  timeouts   fails
                0.0   0.0   0.0   0.0      0     0
queue:avgtime mintime maxtime avgwqsz  avgsqsz   sqfull
                0.0   0.0   1.2   0.0    0.0      0
Adapter:
sisioa0       xfer:bps   tps  bread   bwrtn
220.4K  53.7   220.0K    409.1
Disks:
hdisk0     xfer:%tm_act   bps   tps   bread   bwrtn
1.1   189.1K   46.2    189.0K    154.5
read:rps avgserv minserv maxserv  timeouts   fails
               46.1   0.3   0.2   90.0      0     0
write:wps avgserv minserv maxserv  timeouts   fails
                0.0   6.9   0.8   25.4      0     0
queue:avgtime mintime maxtime avgwqsz  avgsqsz   sqfull
                0.0   0.0  232.8   0.0    0.0     679
hdisk1        xfer:%tm_act   bps   tps   bread   bwrtn
0.2   31.3K   7.6    31.0K    254.6
read:rps avgserv minserv maxserv  timeouts   fails
                7.6   0.2   0.2   17.9      0     0
write:wps avgserv minserv maxserv  timeouts   fails
                0.0   7.2   1.1   29.8      0     0
queue:avgtime mintime maxtime avgwqsz  avgsqsz   sqfull
                0.0   0.0   86.4   0.0    0.0     486
hdisk2        xfer:%tm_act   bps   tps   bread   bwrtn
                0.0   0.0   0.0    0.0    0.0
read:rps avgserv minserv maxserv  timeouts   fails
                0.0   0.0   0.0   0.0      0     0
write:wps avgserv minserv maxserv  timeouts   fails
                0.0   0.0   0.0   0.0      0     0
queue:avgtime mintime maxtime avgwqsz  avgsqsz   sqfull
                0.0   0.0   0.0   0.0    0.0      0
hdisk3        xfer:%tm_act   bps   tps   bread   bwrtn
                0.0   0.0   0.0    0.0    0.0
read:rps avgserv minserv maxserv  timeouts   fails
                0.0   0.0   0.0   0.0      0     0
write:wps avgserv minserv maxserv  timeouts   fails

0.0 0.0 0.0 0.0 0 0

proctools 命令

/proc 文件系统提供了一种控制进程的机制。它还提供了对有关当前进程和线程状态信息的访问,不过该信息是二进制格式。/proc 文件系统中每个条目的名称都是与进程 ID 对应的十进制数字。这些条目是子目录,每个条目的所有者由进程的用户 ID 确定。对进程状态的访问是由每个子目录中包含的附加文件提供的。

proctools 命令(/proc 命令)基于某些可用信息提供 ASCII 报告。其中大多数命令接受进程 ID 列表或 /proc/ProcessID 字符串作为输入。因此可以使用 Shell 扩展 /proc/* 指定系统中的所有进程。

每个 proctools 命令从 /proc 中收集指定进程的信息并向用户显示该信息。这些命令从 /proc 中收集的信息是当前进程状态的快照,因此除了已终止的进程外,此信息在任何时刻都会有所不同。proctools 命令包括:

procfiles 报告有关由进程打开的所有文件描述符的信息。

proctree 打印包含特定进程 ID 或用户的进程树。

procsig 列出进程定义的信号操作。

procstack 打印进程中所有线程的十六进制地址和符号名称。

procrun 启动在发生 PR_REQUESTED 事件时停止的进程。

procmap 打印进程的地址空间映射。

procflags 打印指定进程中每个线程的 /proc 跟踪标志、挂起和保持信号以及其他 /proc 状态信息。

proccred 打印进程的凭据(有效、实际、已保存的用户 ID 和组 ID)。

procldd 列出进程加载的对象,包括使用 dlopen() 来显式附加的共享对象。

procwait 等待所有指定的进程终止。

procwdx 打印进程的当前工作目录。

procstop 在发生 PR_REQUESTED 事件时终止进程。

procmon 工具

可以在运行 AIX 5L Version 5.3 或更高版本的系统上使用 procmon 工具。procmon 工具允许您查看和管理系统上运行的进程。procmon 工具有一个图形界面并显示一个进程指标表,您可以按所提供的不同字段对那些进程指标进行排序。表中列出的缺省进程数量是 20,但是可以从主菜单的 Table Properties 面板更改此值。只有基于排序指标排在最前面的进程才会显示出来,缺省的排序键是 CPU 消耗。

该进程指标表的缺省刷新速度是五秒,但是通过使用主菜单中的 Table Properties 面板或通过单击 Refresh 按钮,您可以更改刷新速度。

缺省情况下,procmon 工具显示下列信息:

进程已运行的时间长度

进程正在使用的 CPU 资源量

进程是否正受到系统处罚

进程正在使用的内存量

进程所执行的 I/O 次数

进程的优先级和优先值

创建特定进程的人员

您可以选择显示其他指标,筛选所显示的进程,并对进程执行性能命令。

注意: procmon 工具是一个 Performance Workbench 插件,因此只能从 Performance Workbench 框架中启动 procmon 工具。必须通过使用 smitty 工具或 installp 命令来安装 bos.perf.gtools 文件集。然后可以从 /opt/perfwb 目录访问 Performance Workbench ,或者从 /opt/perfwb/procmon 目录运行 procmon 脚本。

procmon 工具的全局统计信息区域

全局统计信息区域显示系统正在使用的 CPU 和内存量。通过单击菜单栏中的 Refresh 按钮或通过菜单栏激活自动刷新选项,您可以刷新统计信息数据。图 4 显示了该区域的一个示例窗口。要保存统计信息,您可以将该表导出为下列任何文件格式:

XML

HTML

CSV

图 4 procmon 工具的全局统计信息区域

IBM AIX V5.3 系统管理(Test 222)认证指南系列,第 4 部分:监视和性能优化(下)(2)

procmon 工具的进程表

进程表是 procmon 工具的主要组成部分。进程表显示正在系统上运行的各个进程,并按照用户配置进行排序和筛选。表中列出的进程数量的缺省值是 20,但是可以从主菜单的 Table Properties 面板更改此值。

列标题中的黄色箭头键指示该进程表的排序键。该箭头要么向上要么向下,具体分别取决于排序顺序是升序还是降序。通过单击任何列标题可以更改排序键。图 5 显示了进程表的一个示例窗口。

您可以自定义该进程表,修改有关各个进程的信息,并对所显示的进程运行命令。

图 5 procmon 工具的进程表

图 5 procmon 工具的全局统计信息区域

IBM AIX V5.3 系统管理(Test 222)认证指南系列,第 4 部分:监视和性能优化(下)(2)

缺省情况下,procmon 工具显示表 5 中列出的指标。

表 5 procmon 工具的进程表上列出的缺省指标

指标 描述
PID 进程标识符
CPUPER 自从上次刷新以来每个进程使用的 CPU 百分比
PRM 实际内存使用百分比
ELOGIN 进程用户的有效登录
COMMAND 所启动进程的短名称

您可以选择显示其他指标。表 6 列出了完整的指标列表。

表6 可用于在进程表上显示的所有指标列表

指标 描述
PPID 父进程标识符
NICE 进程的优先值
DRSS 数据驻留集大小
TRSS 文本驻留集大小
STARTTIME 命令的启动时间
PRI 进程的优先级
EUID 有效用户标识符
RUID 实际用户标识符
EGID 有效组标识符
RGID 实际组标识符
THCOUNT 使用的线程数量
CLASSID 属于该 WLM 进程的类的标识符
CLASSNAME 属于该 WLM 进程的类的名称
TOTDISKIO 该进程的磁盘 I/O
NVCSW N 自愿上下文切换
NIVCSW N 非自愿上下文切换
MINFLT 次要缺页
MAJFLT 主要缺页
INBLK 输入块
OUBLK 输出块
MSGSEND 发送的消息
MSGRECV 接收的消息
EGROUP 有效的组名称
RGROUP 实际组名称

可以使用表属性或首选参数来显示您感兴趣的指标。如果选择更改表属性,新的配置值仅针对当前会话而设置。如果更改首选参数,则新的配置值将针对 procmon 工具的下一个会话而设置。

进程表中列出的值有两种类型:

实际值

增量值

实际值是从内核中检索并显示在进程表中的。实际值的示例是 PID、PPID 或 TTY。

增量值是从上次存储的度量计算而来的值。增量值的示例是每个进程的 CPU 百分比,这是使用两次刷新间隔之间测量的值计算得出的。

在进程表下面有另一个表,其中显示了进程表中每一列的值之和。例如,此表可能清楚地显示了消耗 CPU 最多的前 20 个进程所使用的总 CPU 百分比。

通过单击菜单栏中的 Refresh 按钮或通过菜单栏激活自动刷新选项,您可以刷新该数据。

对进程执行命令

可以对您在进程表中选定的进程执行下列命令:

svmon

renice

kill

下列 proctools 命令:

procfiles

proctree

procsig

procstack

procrun

procmap

procflags

proccred

procldd

要对一个或多个进程运行上述任何命令,可以在进程表中选择命令,单击鼠标右键,选择 Detailed information 或 Modify,然后选择希望运行的命令。一个新窗口将打开,其中显示了该命令在运行时的命令输出。可以通过单击 STOP 按钮中断命令。

还可以从命令行调用该命令,例如:

要显示当前的 Shell 使用的进程树,可以使用 proctree 命令:

# ps                  
PID  TTY TIME CMD        
409744 pts/5 0:00 -ksh        
479424 pts/5 0:00 ps         
# proctree 409744            
155780  /usr/sbin/srcmstr       
204930  /usr/sbin/inetd      
471292  telnetd -a       
409744  -ksh         
426154  proctree 409744  
#

要显示某个正在运行的 find 进程所使用的文件描述符,可以使用以下命令:

# tty   
/dev/pts/5
# find / -type f > /tmp/files 2>/tmp/errors & 
[1]   405622
# procfiles -n 405622                  
405622 : find / -type f                 
Current rlimit:2000 file descriptors         
0: S_IFCHR mode:00 dev:10,4 ino:1182 uid:0 gid:0 rdev:3
O_RDWR name:/dev/pts/5              
1: S_IFREG mode:0200 dev:10,7 ino:21 uid:0 gid:0 rdev:0
O_WRONLY size:648723 name:/tmp/files       
2: S_IFREG mode:0200 dev:10,7 ino:25 uid:0 gid:0 rdev:0
O_WRONLY size:0 name:/tmp/errors         
3: S_IFREG mode:0444 dev:10,5 ino:11305 uid:0 gid:0 rde
O_RDONLY size:2208 name:/usr/lib/nls/msg/en_US/find
.
.
.
(省略的行)
.
.
#

标准输入(stdin,文件描述符 0)被分配到当前终端 (/dev/pts/5),标准输出(stdout,文件描述符 1)被分配到文件 /tmp/files,标准错误(stderr,文件描述符 2)被分配到文件 /tmp/errors。在显示所有已使用的文件描述符之后,将返回命令提示符。

要等待某个进程完成并显示状态,可以使用 procwait 命令:

# find / -type f > /dev/null 2>&1 &              
[1]   102614                                 
# procwait -v 102614
102614 : terminated, exit status 0
[1] + Done          find / -type f > /dev/null 2>&1
&                                       
#

Tags:IBM AIX

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接