Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1847616
  • 博文数量: 293
  • 博客积分: 10127
  • 博客等级: 上将
  • 技术积分: 3029
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-12 19:05
文章分类

全部博文(293)

文章存档

2011年(11)

2010年(282)

我的朋友

分类:

2010-09-16 16:45:41

$topas -P
Topas Monitor for host:    jhhost     Interval:   2    Thu Aug 26 16:23:57 2010

                                          DATA  TEXT  PAGE                PGFAULTS
USER        PID    PPID PRI NI   RES   RES  SPACE    TIME CPU%  I/O  OTH COMMAND
oracle   324076       1 102 20  1293  4827  1293    3:07 21.7    0    0 oracle
patrol   307496       1  80 30  5072   619 11840  2465:39  0.3    0  230 PatrolAgent
patrol   241988       1  60 20   685     6      835    438:53  0.1    0    0 snmpmagt
oracle   463258  508290  60 20   441    49   441    0:00  0.0    0    0 topas
root     172464  156076  60 20    67     0   345  510:40  0.0    0    0 dtgreet
oracle   467318       1  60 20  1014  4827  1014    0:00  0.0    0    0 oracle
oracle   327748       1  60 20   256  4827  1084   16:25  0.0    0    0 oracle
patrol   299382  307496  60 20   187   954   539   39:58  0.0    0    0 sqlplus
oracle   311356       1  60 20   134  4827  1396   20:18  0.0    0    0 oracle
oracle   303164       1  60 20   131  4827  2167   25:44  0.0    0    0 oracle
root     278788  205276  60 20    40    61   306   47:43  0.0    0    0 i4llmd
root      28972       0  37 41    24     0    29   75:29  0.0    0    0 gil
root      61592  160160  60 20    64    26   651   20:13  0.0    0    0 X
root       4384       0  16 41    11     0    12   37:30  0.0    0    0 swapper
oracle   307258       1  60 20   469  4827  1873   17:29  0.0    0    0 oracle
root     221672       1  60 20   257    31  1600    9:26  0.0    0    0 ltid
root     282672       1  60 20   296    19  6578    7:27  0.0    0    0 vmd
root     225300       1  60 20   177   308   716   12:42  0.0    0    0 naviagen
root     204816       1  60 20    45     0    47   11:55  0.0    0    0 rpc.lock
root     192708       0  60 20    11     0    12    0:22  0.0    0    0 n4bg

$ topas
Topas Monitor for host:    jhhost              EVENTS/QUEUES    FILE/TTY
Thu Aug 26 16:24:56 2010   Interval:  2         Cswitch     346  Readch    88771
                                                                   Syscall    2742  Writech   23220
Kernel    0.5   |#                           |               Reads       141  Rawin         0
User     42.3   |#############             |  Writes      124  Ttyout      259
Wait      0.1   |#                           |                Forks         0  Igets         0
Idle     57.1   |#################      |  Execs         0  Namei        78
                                                                   Runqueue    0.0  Dirblk        0
Network  KBPS   I-Pack  O-Pack   KB-In  KB-Out  Waitqueue   0.0
en0      69.2    112.5   118.5    45.7    23.5
lo0       2.0      3.5     3.5     1.0     1.0                PAGING           MEMORY
en1       0.7      8.5     0.0     0.7     0.0               Faults       54   Real,MB    3728
                                                                       Steals        0    % Comp     87.7
Disk    Busy%     KBPS     TPS KB-Read KB-Writ  PgspIn        0   % Noncomp   8.5
hdisk46   0.0     39.2     0.5     0.0    39.2           PgspOut       0  % Client    8.5
skpower7  0.0     39.2     0.5     0.0    39.2         PageIn        0
hdisk1    1.0      8.0     2.0     0.0     8.0             PageOut       0   PAGING SPACE
                                                                      Sios          0      Size,MB   16384
Name            PID  CPU%  PgSp Owner                                       % Used     15.1
oracle       410020  24.9   5.0 oracle                   NFS (calls/sec)   % Free     84.8
oracle       324076  23.4   5.1 oracle                   ServerV2       0
PatrolAgent  307496   0.1  46.2 patrol                ClientV2       0   Press:
topas        389584   0.1   1.8 oracle                   ServerV3       0   "h" for help
dtgreet      172464   0.1   1.3 root                     ClientV3       0   "q" to quit

上面是在 AIX 5.3 系统下的两份 topas 输出,第一份是仅输出进程(带 -P 选项),第二份是攘括 CPU、内存、换页空间、I/O 和进程多项资源指标于一个界面的 topas 标准输出。PgSp 是一项描述进程的指标,是 Page Space 的缩写,本义是代表换页空间的使用量,它的单位是 MB, PgSp 与第一份 topas 进程长列表输出中的 Page Space 字段指的同一个意思,不过后者的单位是页(1页等于4KB)。

在早期的 AIX 版本中,系统每产生一个新进程,同时就会在 swap 上分配相应的换页空间(page space),到了 AIX 5 版本,换页空间有多种分配策略,一般不会再象以前那样提前分配页空间。所以 topas 输出的 PgSp 数字不代表一定在换页空间上已经分配了那么多空间,你会看到有的系统换页空间根本就没有使用(lsps -s),那 PgSp 一样有它该有的值。你把它看作 virtual space size 就行了。

你看 PatrolAgent 这个进程(pid 号为 307496),在 topas 中显示的 PgSp 为 46.2MB(等于 11840 页),使用 ps 命令你也能看到这个值,ps 用法如下:

$ ps avx | head -1; ps avx | grep 307496
    PID      TTY STAT  TIME     PGIN    SIZE   RSS    LIM     TSIZ    TRS  %CPU %MEM  COMMAND
 307496     -   A     2478:25 309661 47360 21900 32768  3632   2332   0.1    1.0     PatrolAgent

SIZE 字段(以 KB 为单位)大小是 47360KB(46.2MB),也就是 11840 页,在 AIX 5 版本中 SIZE 的含义是进程数据段虚空间大小,它不包括执行映像部分。虚空间不要把它想象成就是换页空间,当内存很充足的时候,数据段虚空间可以全部放到内存中,换页空间(Page Space)可以根本不必使用,所以在 topas 输出中描述进程的 PgSp 字段,其值是有价值的,但是它的名字给人造成误导,你一看到 PgSp 有一堆数值,你就以为换页空间用了这么多,这你就错了。早期的 AIX 由于采用预先分配换页空间的策略,这个 PgSp 值是多少,那么换页空间就用多少,现在不一样了。

想要了解 AIX 中某个进程究竟使用了多少换页空间,比较正规的方法是用 svmon 工具,不过你也可以用 ps 命令作个大致换算,看前面 PatrolAgent 进程的 ps 输出,SIZE-(RSS-TRS)=47360-(21900-2332)=27792KB, 这个 PatrolAgent 进程大概使用了26MB 的换页空间。

你可以用下面的 shell 脚本来计算你的系统中全部进程占用了多少换页空间:

$ ps avx | sed -e "1d" | awk 'BEGIN { total = 0 } { total += ( $6 - ( $7 - $10 ))} END { print "total = ",total }'

注意 AIX 的 ps 输出中 SIZE 字段以及 RSS 字段都不包括共享内存(shared memory)部分,这点与 Linux 不同,使用 ps 要注意到这种差异。一般数据库服务器的共享内存段都常驻内存,不会用到换页空间,如果上面 shell 脚本算出的换页空间占用量明显小于 lsps -s 命令显示的换页空间使用量,有可能大的共享内存段被交换出去了,这是非常糟糕的情况,要赶紧打报告,扩内存。

阅读(11476) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~