线程监视
在这个部分中,我将介绍一些相关的工具和命令,它们可以帮助您监视和分析线程的使用。尽管在 AIX Version 4 中就引入了通过线程的使用来控制处理器使用时间的方法,但是直到 AIX 5L? 才真正提供了帮助您监视和分析线程使用的系统管理工具。其中一种工具是 Procmon,在 AIX Version 5.3 中引入了该工具。
Procmon 可以显示进程的列表(当您的系统变化时,该列表也将动态地变化),通过这个列表,您可以收集有关系统中正在运行的进程的信息。与其他监视工具相比,其独特之处在于,它允许您运行各种命令以简化进程和线程的管理。它能够收集的、与性能优化相关的一些关键信息包括:
- 某个进程实际使用的 CPU 时间
- 某个进程的内存和 I/O 用量
- 进程的 nice(优先级调整参数)值及其优先级
您甚至可以 kill 任务(终止任务),并且动态地 renice 它们(调整其优先级)。图 1 给出了关于整体性能的图形表示。要启动 Performance Workbench Platform,可以使用: # perfwb。

图 1. Procmon partition performance 选项卡
其中还包括一个进程表视图,用于在经过排序的表格中显示线程列表。您只需选择 Show threads metrics 即可(请参见图 2。

其他的一些菜单允许您 kill 进程(终止进程)或者 renice 它们(重新调整进程的优先级),请参见图 3。

那么,nice 究竟是什么呢?您可以使用 nice 命令调整给定进程的优先级。所有进程的缺省值都为 20。使用 renice 命令(通过 Procmon 或者命令行)可以使得系统为给定的进程分配一个更高的或者更低的优先级。在进行该操作时,您实际上通过更改进程的 nice 值,从而更改了线程优先级的值(缺省值为 40)。
如果您在运行 ps 命令时使用了 -l 标志,那么您将看到具体的 nice 信息(请参见清单 1)。
清单 1. nice 信息
# ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 200001 A 0 12972 45770 0 60 20 dea6 764 pts/1 0:00 ksh 200001 A 0 33816 12972 3 61 20 36168 440 pts/1 0:00 ps 240001 A 207 45770 40374 0 60 20 258ec 744 pts/1 0:00 ksh
让我们通过 nice 启动一个新的 ksh,更改进程的优先级:# nice --10 ksh(请参见清单 2)。
当您再次使用ps 查看进程表时,您将看到,对于这个进程以及它通过 fork 系统调用创建的子进程,它们的优先级都不再是缺省值。
清单 2. 使用 nice 命令得到的新的 ksh
# ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 200001 A 0 12972 45770 0 60 20 dea6 764 pts/1 0:00 ksh 200001 A 0 17246 12972 0 50 10 68a1f 748 pts/1 0:00 ksh 200001 A 0 18450 17246 1 50 10 51bb1 380 pts/1 0:00 ps 240001 A 207 45770 40374 0 60 20 258ec 744 pts/1 0:00 ksh
您还可以使用 renice 命令(前面在介绍 Procmon 的图 3 中对该命令进行了说明),以便动态地为一个运行的进程重新分配优先级。
让我们回到ps。如果您希望更详细地查看相关的线程,那么您可以使用 -mo 标志(请参见清单 3)。
清单 3. 使用 -mo 标志以便更详细地查看您的线程
# ps -mo THREAD USER PID PPID TID ST CP PRI SC WCHAN F TT BND COMMAND root 12800 45770 - A 0 60 1 - 200001 pts/1 - -ksh - - - 56759 S 0 60 1 - 10400 - - - root 44648 12800 - A 1 60 1 - 200001 pts/1 - ps -mo THREAD - - - 64905 R 1 60 1 - 0 - - - kmilberg 45770 40374 - A 0 60 1 - 240001 pts/1 - -ksh - - - 54005 S 0 60 1 - 10400 - - -
尽管大多数管理员通常仅在进行 ps -ef 操作时使用 ps,但是如果您更仔细地研究它的特性,那么您将会了解到更多关于 ps 的内容。