9 proc.mem 监控项中内存参数类型

概述

Linux, AIX, FreeBSD 和 Solaris 都支持memtype参数。

‘memtype’ 参数的三个常用值 pmem, rssvsize在所有系统中都适用。另外, 在一些系统中只支持该系统下的 ‘memtype’ 值。

AIX

请参见表中AIX上的“memtype”参数所支持的值.

支持的参数值描述proentry64 结构中的源代码兼容
vsize 1虚拟内存大小pi_size
pmem实际内存百分比pi_prmps -o pmem
rss驻留集大小pi_trss + pi_drssps -o rssize
size进程大小(代码+数据)pi_dvm“ps gvw” SIZE column
dsize数据大小pi_dsize
tsize文本(代码)的大小pi_tsize“ps gvw” TSIZ column
sdsize来自共享库的数据大小pi_sdsize
drss数据驻留集大小pi_drss
trss文本驻留集大小pi_trss

FreeBSD

请参见表中FreeBSD上的“memtype”参数支持的值。

支持的参数值描述proentry64 结构中的源代码兼容
vsize虚拟内存大小kp_eproc.e_vm.vm_map.size or ki_sizeps -o vsz
pmem实际内存的百分比calculated from rssps -o pmem
rss驻留内存大小kp_eproc.e_vm.vm_rssize or ki_rssizeps -o rss
进程(代码+数据+堆栈)大小1Size of process (code + data + stack)tsize + dsize + ssize
tsize文本(代码)的大小kp_eproc.e_vm.vm_tsize or ki_tsizeps -o tsiz
dsize数据大小kp_eproc.e_vm.vm_dsize or ki_dsizeps -o dsiz
ssize堆栈大小kp_eproc.e_vm.vm_ssize or ki_ssizeps -o ssiz

Linux

请参见表中Linux上的“memtype”参数支持的值。

支持值描述来源/proc/<pid>/status 文件
vsize 1虚拟内存大小VmSize
pmem实际内存百分比(VmRSS/total_memory) * 100
rss驻留内存大小VmRSS
data数据段大小VmData
exe代码段大小VmExe
hwm驻留集峰值大小VmHWM
lck锁定内存大小VmLck
lib共享库的大小VmLib
peak峰值虚拟内存大小VmPeak
pin固定页面的大小VmPin
pte页表条目的大小VmPTE
size进程代码 + 数据 + 堆栈段的大小VmExe + VmData + VmStk
stk堆栈段大小VmStk
swap使用的交换空间大小VmSwap

Linux上注意事项:

  1. 一些旧版本Linux 内核并不是支持所有’memtype’ 值的。例如, Linux 内核版本2.4就不支持 hwm, pin, peak, pteswap 等值。
  2. 我们发现 Zabbix agent 主动检查进程参数proc.mem[...,...,...,...,data] 显示的值比agent 的 /proc/<pid>/status 文件中 VmData行的值大大 4 kB。在agent自我监控管理时,agent的数据碎片增长率4 kB ,然后又返回到先前的值。

Solaris

请参见表中的Solaris上的“memtype”参数所支持的值。

支持值描述psinfo 结构中的源代码兼容
vsize 1过程映像的大小pr_sizeps -o vsz
pmem实际内存百分比pr_pctmemps -o pmem
rss驻留集大小
可能被低估了 - 请参阅“man ps”中的 rss 描述。
pr_rssizeps -o rss
注释批注

1 默认值


  1. 1↩︎