快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

和记怡情娱:AIX系统CPU性能评估



1、vmstat

应用vmstat来进行机能评估,该敕令可得到关于系统各类资本之间的相关机能的简要信息。当然我们也主要用它来看CPU的一个负载环境。

下面是我们调用vmstat敕令的一个输出结果:

$vmstat12

Systemconfiguration:lcpu=16mem=23552MB

kthrmemorypagefaultscpu

--------------------------------------------------------------------

rbavmfrerepipofrsrcyinsycsussyidwa

0030919882741152000000184926129490781883

00309198927411510000002527320136561152776

对上面的敕令解释如下:

Kthr段显示内容

¨ r列表示可运行的内核线程匀称数目,包括正在运行的线程和等待 CPU 的线程。假如这个数字大年夜于 CPU 的数目,则注解有线程必要等待CPU。

¨ b列表示处在非中断就寝状态的进程数。包括正在等待文件系统 I/O 的线程,或因为内存装入节制而被挂起的线程。

Memory段显示内容

¨ avm列表示活动虚拟内存的页面数,每页一样平常4KB

¨ fre余暇的页面数,每页一样平常4KB

Page段显示内容

¨ re –该列无效

¨ pi 从磁盘互换到内存的互换页(调页空间)数量,4KB/页。调页空间是驻留在硬盘上的虚拟内存的一部分。当内存应用过量时,会将溢出的事情组页面存储到调页空间中(偷取页)。当进程造访一个偷取页时,就孕育发生了一个缺页故障,而这一页页必须从调页空间中读入到内存中。

¨ po 从内存互换到磁盘的互换页数量,4KB/页。假如偷取的事情也在调页空间中不存在或者已经作了改动,则写入调页空间中。假如不被再次造访,它会留在调整空间中直到进程终止或者放弃空间。

¨ fr 根据页面调换算法每秒开释的页数。当VMM页面调换例程扫描页面帧表(Page Frame Table,PFT)时,它会根据一些前提拔取必要偷取的页面以弥补余暇列表。该前提中包孕事情页面和谋略页面,开释的页面中,谋略页面不孕育发生I/O,事情页面假如数据没有发生改动,也不必要写回磁盘,也不会孕育发生I/O。

¨ sr 根据页面调换算法每秒所反省的页数。sr值比fr值高的越多,阐明调换算法要查找可以调换的页面就越艰苦。

¨ cy 每秒页面调换代码扫描了PFT若干次。由于增添余暇列表达到maxfree值,不必然必要完全扫描PFT表,而所有vmstat输出都为整数,以是平日cy列值为0。

Faults段显示内容(着实这段内容不需太多关注)

¨ in 在该光阴距离中不雅测到的每秒设备中断数。

¨ sy 在该光阴距离中不雅测到的每秒系统调用次数。

¨ cs 在该光阴距离中不雅测到的每秒钟高低文切换次数。

Cpu段显示内容

¨ us 列显示了用户模式所耗损的 CPU 光阴。

¨ sy 列具体显示了 CPU 在系统模式所耗损的 CPU 光阴。

¨ id 列显示了没有未决本地磁盘 I/O 时 CPU 余暇或等待光阴的百分比。和记怡情娱

¨ wa 列具体显示了有未决本地磁盘 I/O 时 CPU 余暇的光阴百分比。wa 的值假如跨越 25%,就注解磁盘子系统可能没有被精确平衡,或者这也可能是磁盘事情负荷很重的结果。

假如在一个单用户系统中,us + sy光阴不跨越 90%,我们就不觉得系统的CPU是受限定的。

假如在一个多用户系统中,us + sy光阴跨越 80%, 我们就觉得系统的CPU是受限的。此中的进程将要花光阴在运行行列步队中等待。相应光阴和吞吐量会受侵害。

反省cpu,我们主要关注申报中的4个cpu列和2个kthr(内核线程)列。

#sar -P ALL 1 2

AIX jsdxh_db02 3 5 00C2C1EB4C00  10/24/07

System configuration: lcpu=16

18:03:30 cpu  %usr  %sys  %wio  %idle  physc

18:03:31 0    0   69    0   31  0.00

1    50   50    0    0  1.00

2    0    0    0和记怡情娱   100  0.52

3    0    0    0   100  0.48

4    0    1    0   99  0.54

5    0    0    0   100  0.46

6    0    0    0   100  0.53

7    0    0    0   100  0.47

8    0    0    0   100  0.53

9    0    0    0   100  0.47

10    0    2    0   98  0.54

11    0    0    0   100  0.46

12    11   58    0   31  0.00

13   100    0    0    0  1.00

14    0    0    0   100  0.53

15    0    0    0   100  0.47

-    19    7    0   75  8.01

18:03:32 0    0   71    0   29  0.00

1    50   50    0    0  1.00

2    0    0    0   100  0.52

3    0    0    0   100  0.48

4    0    1    0   99  0.54

5    0    0  和记怡情娱  0   100  0.47

6    0    0    0   100  0.52

7    0    0    0   100  0.47

8    0    0    0   100  0.53

9    0    0    0   100  0.47

10    0    2    0   98  0.54

11    0    0    0   100  0.46

12    39   41    0   20  0.00

13   100    0    0    0  1.00

14    0    0    0   100  0.52

15    0    0    0   100  0.47

-    19    7    0   75  7.98

Average  0    0   70    0   30  0.00

1    50   50    0    0  1.00

2    0    0    0   100  0.52

3    0    0    0   100  0.48

4    0    1    0   99  0.54

5    0    0    0   100  0.46

6    0    0    0   100  0.53

7    0    0    0   100  0.47

8    0    0    0   100  0.53

9    0    0    0   100  0.47

10    0    2    0   98  0.54

11    0    0    0   100  0.46

12    28   48    0   24  0.00

13   100    0    0    0  1.00

14    0    0    0   100  0.52

15    0    0    0   100  0.47

-    19    7    0   75  8.00

上面是分cpu统计的环境,结果应该也对照直不雅吧。

在我下面的这一份示例中,可以看到,大年夜部分的cpu光阴都是被wait所占用的。这里的wait实际上是idle进程,可以注解这个系统是一个完全余暇的系统。

$ more __prof.all

Process   PID   TID Total Kernel  User Shared Other

=======   ===   === ===== ======  ==== ====== =====

wait  40970  40971  2998  2998   0   0   0

wait  32776  32777  2994  2994   0   0   0

wait  24582  24583  2985  2985   0   0   0

wait  16388  16389  2980  2980   0   0   0

syncd  221254  155707   31   31   0   0   0

caiUxOs  524540 2294015   3   0   0   3   0

netm  73746  73747   1   1   0   0   0

hats_nim 1671242 1220665   1   0   0   1   0

snmpd64  598258 1245291   1   1   0   0   0

rpc.lockd  639212 1728679   1   1   0   0   0

tprof  704622 2277437   1   0   0   1   0

trclogio  360524 2408625   1   1   0   0   0

trace 1523820 2523145   1   0   0   1   0

clinfo 1958102 2760945   1   1   0   0   0

sh 1572938 2285709   1   1   0   0   0

=======   ===   === ===== ======  ==== ====== =====

Total          12000 11994   0   6   0

Process  FREQ Total Kernel  User Shared Other

=======  === ===== ======  ==== ====== =====

wait   4 11957 11957   0   0   0

syncd   1   31   31   0   0   0

caiUxOs   1   3   0   0   3   0

netm   1   1   1   0   0   0

hats_nim   1   1   0   0   1   0

snmpd64   1   1   1   0   0   0

rpc.lockd   1   1   1   0   0   0

tprof  和记怡情娱 1   1   0   0   1   0

trclogio   1   1   1   0   0   0

trace   1   1   0   0   1   0

clinfo   1   1   1   0   0   0

sh   1   1   1   0   0   0

=======  === ===== ======  ==== ====== =====

Total   15 12000 11994   0   6   0

在这里,对wait进程作一点弥补阐明。

wait便是CPU余暇的时刻运行的余暇进程,AIX4上叫kproc。以是这个进程占用越大年夜,表示机械越余暇。Wait进程的数量是由机械上的逻辑CPU的个数抉择的,有几个逻辑CPU,就有几个wait进程.

5、ps

这个敕令应用本身也对照繁杂,在这里只先容若何查看cpu占用最高的进程。应用举例如下:

#ps aux | head -25

USER    PID %CPU %MEM  SZ RSS  TTY STAT  STIME TIME COMMAND

root   17214 3.1 0.0  40  40   - A   Jul 04 25578:42 wait

root   16946 3.1 0.0  40  40   - A   Jul 04 25415:54 wait

root   16678 3.1 0.0  40  40   - A   Jul 04 25377:03 wait

root   53274 3.1 0.0  40  40   - A   Jul 04 25170:12 wait

root    286 3.1 0.0  40  40   - A   Jul 04 25144:00 wait

root   和记怡情娱 8196 3.0 0.0  40  40   - A   Jul 04 25082:32 wait

root    822 3.0 0.0  40  40   - A   Jul 04 25072:25 wait

root    554 3.0 0.0  40  40   - A   Jul 04 25034:14 wait

root   20776 2.7 0.0  40  40   - A   Jul 04 22181:27 wait

root   57372 2.7 0.0  40  40   - A   Jul 04 22118:00 wait

root   49176 2.7 0.0  40  40   - A   Jul 04 22102:02 wait

root   21044 2.7 0.0  40  40   - A   Jul 04 22077:18 wait

root   12848 2.7 0.0  40  40   - A   Jul 04 22036:44 wait

root   21312 2.7 0.0  40  40   - A   Jul 04 21998:53 wait

root   12580 2.7 0.0  40  40   - A   Jul 04 21967:17 wait

root   13116 2.7 0.0  40  40   - A   Jul 04 21865:51 wait

oracle  344612 0.3 0.0 56372 33852   - A   Jul 04 2707:30 ora_j000_ora92

oracle  430408 0.3 0.0 55916 33396   - A   Jul 04 2266:20 ora_j001_ora92

oracle  365092 0.2 0.0 56184 33664   - A   Jul 04 1765:58 ora_j002_ora92

oracle  442430 0.2 0.0 56092 33572   - A   Jul 04 1426:40 ora_j003_ora92

oracle  385606 0.1 0.0 55984 33464   - A   Jul 05 1159:17 ora_j004_ora92

oracle  413856 0.1 0.0 50520 28000   - A   Jul 23 543:31 oracleora92 (LOC

oracle  143668 0.1 0.0 50528 28008   - A   Jul 13 833:21 oracleora92 (LOC

oracle  369230 0.1 0.0 56600 34080   - A   Jul 05 806:36 ora_j005_ora92

指定和改动敕令的优先级。

系统中运行的每个进程都有一个优先级,我们可以用ps敕令看到,这个优先级为PRI,PRI的值越小,优先级越高,能占用更多的CPU光阴片。系统默认的PRI为60,我们可以经由过程nice敕令和renice敕令来改变一个进程的优先级,从而节制进程对CPU光阴片的占用。

任何一个用户都可以应用nice敕令来使他的进程以低于系统默认的pri运行。然则只有root用户才可以使进程以高于默认的pri运行。

我们先来看一下nice敕令的应用措施:

#nice –n -5 vmstat 2 10 >vmstat.out

# ps -el

F S UID   PID  PPID  C PRI NI ADDR  SZ  WCHAN  TTY TIME CMD

200001 A 0 704738 1523728  0 55 15 aee1400  544 f100009e63c23e30 pts/1 0:00 vmstat

指定法度榜样以nice值-5开始运行。法度榜样开始后,nice的值为15,PRI的值为55。

nice敕令可以指定的范围为-20 (最高优先级)到 20 (最低优先级)。在AIX5.3中,默认的nice为20。

# vmstat 2 10 >vmstat.out

# ps -el

F S UID   PID  PPID  C PRI NI ADDR  SZ  WCHAN  TTY TIME CMD

200001 A  0 704740 1523728  0 60 20 32ec6400  472 f100009e63c23e30 pts/1 0:00 vmstat64

可以看到默认的环境下,系统应用的nice=20,pri=60 。

实际上,在应用nice指定的时刻,我们也可以应用越过闭区间[-20,20]的值,比如:

nice –n -33 vmstat 2 10 >vmstat.out

# ps -el

F S UID   PID  PPID  C PRI NI ADDR  SZ  WCHAN  TTY TIME CMD

200001 A  0 319652 1523728  0 40 0 82ef0400  544 f100009e63c23e30 pts/1 0:00 vmstat64

上例中,我们指定的nice小于-20,获得最高的优先级(pri=40)。反之,假如我们指定nice的值跨越20,比如nice=21,我们将获得最低的优先级值pri=100。

您可能还会对下面的文章感兴趣: