topas中PgSp字段的含义(二)

2014-11-24 16:59:41 · 作者: · 浏览: 46
on 命令可看到进程使用换页空间的情况。

另外要说明的是 ps 命令中也有类似 PgSp 的字段,以 PatrolAgent 这个进程(pid 号为 307496)为例,执行以下命令:

$ 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 字段与 PgSp 等义。ps 输出中与内存/虚存有关的单位是 KB,看 SIZE 值是 47360KB(46.2MB),也就是 11840 页,与 top 中的 PgSp 完全相同。

前面说过要了解 AIX 中某个进程使用换页空间的情况,正规方法是用 svmon 命令,不过你也可以用 ps 命令作个大致换算,看前面 PatrolAgent 进程的 ps 输出,SIZE-(RSS-TRS)=47360-(21900-2332)=27792KB, 这个 PatrolAgent 进程大概使用了26MB 的换页空间,嘿,这 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 命令显示的换页空间使用量,有可能大的共享内存段被交换出去了,这是非常糟糕的情况,要赶紧打报告,扩内存了。