- 论坛徽章:
- 0
|
svmon 和 vmstat 输出之间的关系
在 svmon 和 vmstat 的输出之间有关系。svmon 的报告在AIX 4.3.2中如下所示(所举例子与AIX 4.3.3及其之后版本中的相同,虽然输出格式不同):
# svmon -G
m e m o r y i n u s e p i n p g s p a c e
size inuse free pin work pers clnt work pers clnt size inuse
16384 16254 130 2016 11198 2537 2519 2016 0 0 40960 13392
vmstat 命令在一个分离窗口中运行,同时 svmon 也在运行。vmstat 的报告如下所示:
# vmstat 5
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
0 0 13392 130 0 0 0 0 2 0 125 140 36 2 1 97 0
0 0 13336 199 0 0 0 0 0 0 145 14028 38 11 22 67 0
0 0 13336 199 0 0 0 0 0 0 141 49 31 1 1 98 0
0 0 13336 199 0 0 0 0 0 0 142 49 32 1 1 98 0
0 0 13336 199 0 0 0 0 0 0 145 49 32 1 1 99 0
0 0 13336 199 0 0 0 0 0 0 163 49 33 1 1 92 6
0 0 13336 199 0 0 0 0 0 0 142 49 32 0 1 98 0
全局的 svmon 报告显示了相关的数字。vmstatfre 一栏和 svmon memory free 一栏之间有联系。vmstat 对于动态虚拟内存 (avm) 的报告是由 svmon 命令 pg space inuse 的报告提供的 (13392)。
vmstat avm 一栏提供了和 pg space inuse 一栏一样的值,后面的值是从 svmon 命令得到,除了从AIX 4.3.2开始的版本里用到页面延迟分配的地方。在这个例子里, svmon 显示了实际调出到字分页空间的页的数量而 vmstat 命令虚拟页面可访问的数量,并不一定是被调出的
svmon 和 ps 输出的关系
在 svmon 和 ps 的输出之间是有某些联系的。svmon 的报告在 AIX 4.3.2 中如下所示(所举例子在 AIX 4.3.3 及其之后的版本中的相同,虽然输出格式不同):
# svmon -P 7226
Pid Command Inuse Pin Pgspace
7226 telnetd 936 1 69
进程标识符: 7226
命令: telnetd
Segid Type Description Inuse Pin Pgspace Address Range
828 pers /dev/hd2:15333 0 0 0 0..0
1d3e work lib data 0 0 28 0..559
909 work shared library text 930 0 8 0..65535
1cbb work sreg[3] 0 0 1 0..0
1694 work private 6 1 32 0..24 : 65310..65535
12f6 pers code,/dev/hd2:69914 0 0 0 0..11
同ps 的报告比较,还有以下的内容:
# ps v 7226
PID TTY STAT TIME PGIN SIZE RSS LIM TSIZ TRS %CPU %MEM COMMAND
7226 - A 0:00 51 240 24 32768 33 0 0.0 0.0 telnetd
SIZE 指的是进程的数据区域的虚拟容量(在字分页空间),用 KB 计。这个数目等于进程已使用的工作段页的数目(即在字分页空间被分配的页的数目)的4倍。该数必须乘以 4 是因为页面是以 4K 为单位而SIZE 是以 1K 为单位。如果一些工作段页最近被调出,这个数值将大于实际内存的数目。SIZE 的值 (240) 与Pgspace 的数值相关,该数值由 svmon 命令的 private (32) 加上 lib data (28) 得到,以 1K 为单位。
RSS 指的是进程实际内存(驻留集合)的容量,用千字节表示。这个数值等于于进程内存中的工作段页和代码段页数和的 4 倍。记住代码段页是为所有当前程序运行的实例所共享的。如果 26 ksh 进程正在运行,只有 ksh 的可执行程序的页面的一个副本可以驻留在内存,但是 ps 命令会将代码段的大小作为每一个 RSS 的一部分,而该部分是 ksh 程序的一个实例。RSS 的值 (24) 与 Inuse 的值相关,后面的值由svmon 命令提供,为了进程的 private (6) 工作存储段,为了code (0) 段,也为了 lib data (0)。以 1K 计。
TRS 指的是文本的驻留集合(实际内存中)的容量。这个数字等于代码的数目乘以 4。正如我们较早提到的,这个数目大于程序使用内存的数目去乘以运行的实例的数目。这不包括进程的共享文本。TRS 的值 (0) 与 svmon 在 code 段里的页数相关,该段在 Inuse 栏里,以 1K 计。TRS 的值可能比 TSIZ 的值要大因为其他页,如 XCOFF 头文件,和载入区,可能包含在代码段里。
下面的计算公式有助于理解我们以上提到的值:
SIZE = 4 * Pgspace of (work lib data + work private)
RSS = 4 * Inuse of (work lib data + work private + pers code)
TRS = 4 * Inuse of (pers code)
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/2984/showart_113217.html |
|