AIX 上的进程优先级与进程控制
2007-05-11 08:13:07 来源:WEB开发网在典型的 SMP 系统中,所有处理器都完全相同并可以在其系统上运行任意线程。从本质上讲,任何进程或线程都可以分派到任意处理器上运行,但绑定在特定处理器上运行的处理器或线程除外。此操作可通过 bindprocessor 命令实现。让我们看一个示例(请参见清单 1)。
清单 1. 使用 bindprocessor 命令# bindprocessor -q
The available processors are: 0 1 2 3
在此示例中,您可以看到有四个处理器可供调用。这些可用的处理器是:0、1、2、3。
以下命令显示了绑定到 CPU 3 的处理器(请参见清单 2)。
清单 2. 发现绑定到 CPU 3 的处理器# ps -emo THREAD | grep p3
root 401544 389152 - A 0 60 1 f10001001ece2fb8 200001 pts/0
- grep p3
您还可以使用 SMIT 快速路径 smit bindproc 来帮助绑定进程。另一种绑定进程的方式是,使用 AIX 上可用的 bindprocessor API 在程序内部执行绑定。您应明白,这些命令的功能十分强大。在将进程绑定到 CPU 时,如果该 CPU 正处于繁忙状态,而其他 CPU 却处于空闲状态,则绑定操作实际上会降低该进程的性能。
PS——认识您很高兴
让我们讨论一下通常可用于识别和处理进程的命令。
要获得一个较长的文件清单,请使用以下命令,如清单 3 所示。
清单 3. 获取较长的文件清单# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jan 08 - 0:05 /etc/init
root 82126 204974 0 Jan 08 - 0:00 /usr/sbin/snmpmibd
root 86210 106640 0 Jan 08 - 0:00 /usr/dt/bin/dtcm
root 90172 123038 0 Jan 08 - 0:35 /usr/lpp/X11/bin/X -D /usr/lib/X11//rgb
-T -force :0 -auth /var/dt/A:0-DjUjUa
root 98390 1 0 Jan 08 - 8:36 /usr/sbin/syncd 60
root 106640 131160 0 Jan 08 - 0:25 /usr/dt/bin/dtsession
更多精彩
赞助商链接