svmon概述
svmon 命令用于显示当前内存状态的信息,可通过
# lslpp bos.perf.tools
查看是否有安装。因为 svmon 命令在启用中断的用户级别运行,所以显示的信息不组成真正的内存快照。 在非常繁忙的系统中,svmon收集的数据和真实的数据有所差距,在svmon进程搜集的过程中,VMM(虚存管理器)可能已经发生改动了。
因为svmon使用的全是VMM中的数据,而VMM对内存的视图是基于内存段的,所以,理解svmon的输出,必须先理解段的概念。
段
段(segment)是一组页的合集, 用来报告内存消耗的基本对象。因此 svmon 所报告的统计信息是以页面表示的。 每个段为256M,而每页为4KB字节的虚存,每帧为4KB字节的实存,每个段可同时被多个进程使用,每个段属于以下五种类型其中的一种:
persistent:存放JFS文件或目录
working:进程数据区域和共享内存段
client:用于实现虚拟文件系统如NFS,CD-ROM文件系统和JFS2
mapping:用于实现文件和内存之间的映射关系
real memory mapping:用于对I/O空间的访问
svmon参数详解
-a SupClassName |
将范围限于 SupClassName 类参数的子类(在层报告 -T 中)。参数是超类名。不支持类列表。 |
-b |
显示所有显示帧的引用和修改位的状态(详细报告 -D )。显示时,重新设置帧的引用位。使用 -i 标志时,会检测在每个间隔间存取的帧。
注:
因为该标志会影响性能,所以请谨慎使用。
|
-c |
表示统计信息中只包含客户段。缺省情况下会分析所有段。 |
-C Command1 ...CommandN |
显示运行命令名 Commandnm1 ...CommandnmN 的进程的内存使用统计信息。Commandnm 是字符串。它是可执行文件精确的基本名。 |
-d |
对于给定实体,显示属于该实体(用户名或命令名)的进程的内存统计信息。 |
-D SID1 ...SIDN |
显示段 SID1 ...SIDN 的内存使用统计信息和每个段所有帧的详细状态。指定的段标识符必须关于主段。 |
-e |
显示 Class 参数的子类的内存使用统计信息(该参数在工作负载类报告 -W 和层报告 -T 中)。-W 或 -a 类参数需要是超类名称。 |
-f |
表示统计信息中只包含持久段(文件)。缺省情况下会分析所有段。 |
-F [ Frame1...FrameN ] |
显示帧 Frame1...FrameN 状态,包含其所属的段。如果没有供应帧列表,那么会显示所用内存的百分比。 |
-g |
表示要显示的信息按照在调页空间上保留或使用的页面总数的降序排列。这个标志结合段报告改变了排序列表末尾的非工作段。 |
-G |
显示全局报告。 |
|