标题：svmon
svmon命令
svmon是IBM AIX系统中常用的命令，用来捕获并分析虚拟内存快照。[1]
svmon提供了一个更加深入的内存使用情况的分析。比起 vmstat 和 ps 命令，它带有更多信息量，并且更具有强制性。svmon 命令捕获一个当前内存状态的快照。然而，这并不是一个真正的快照，因为它运行在用户级别，即中断允许状态。
命令语法
全局报告
svmon -G [ -i Interval [ NumIntervals ] ] [ -z ]
用户报告
svmon -U [ LogName1...LogNameN ] [ -r ] [ -n | -s ] [ -w | -f -c ] [ -t Count ] [ -u | -p | -g | -v ] [ -i Interval [ NumIntervals ] ] [ -l ] [ -j ] [ -d ] [ -z ] [ -m ] [ -q ]
命令报告
svmon -C Command1...CommandN [ -r ] [ -n | -s ] [ -w | -f | -c ] [-t Count ] [ -u | -p | -g | -v ] [ -i Interval [ NumIntervals] ] [ -l ] [ -j ] [ -d ] [ -z ] [ -m ] [ -q ]
工作负载管理类报告
svmon -W [ ClassName1...ClassNameN ] [ -e ] [ -r ] [ -n | -s ] [ -w | -f | -c ] [-t Count ] [ -u | -p | -g | -v ] [ -i Interval [ NumIntervals]] [ -l ] [ -d ] [ -z ] [ -m ] [ -q ]
工作负载管理层报告
svmon -T [ Tier1...TierN ] [ -a SupClassName ] [ -x ] [ -e ] [ -r ] [ -u | -p | -g | -v ] [ -n | -s ] [ -w | -f | -c ] [ -t Count ] [ -i Interval [ NumIntervals ] ] [ -l ] [ -z ] [ -m ]
进程报告
svmon -P [ PID1... PIDN ] [ -r [ -n | -s ] [ -w | -f | -c ] [ -t Count ] [ -u | -p | -g | -v ] [ -i Interval [ NumIntervals] ] [ -l ] [ -j ] [ -z ] [ -m ] [ -q ]
段报告
svmon -S [ SID1...SIDN ] [ -r ] [ -n | -s ] [ -w | -f | -c ] [ -t Count ] [ -u | -p | -g | -v ] [ -i Interval [ NumIntervals] ] [ -l ] [ -j ] [ -z ] [ -m ] [ -q ]
详细报告
svmon -D SID1..SIDN [ -b ] [ -i Interval [ NumIntervals] ] [ -z ] [ -q ]
分帧报告
svmon -F [ Frame1..FrameN ] [ -i Interval [ NumIntervals] ] [ -z ] [ -q ]
命令标志
-aSupClassName将范围限于 SupClassName 类参数的子类（在层报告 -T 中）。参数是超类名。不支持类列表。-b显示所有显示帧的引用和修改位的状态（详细报告 -D）。-c表示统计信息中只包含客户段。缺省情况下会分析所有段。-CCommand1...CommandN显示运行命令名 Commandnm1...CommandnmN 的进程的内存使用统计信息。Commandnm 是字符串。它是可执行文件精确的基本名。-d对于给定实体，显示属于该实体的进程的内存统计信息。-DSID1...SIDN显示段 SID1...SIDN 的内存使用统计信息和每个段所有帧的详细状态。-e显示 Class 参数的子类的内存使用统计信息（该参数在工作负载类报告 -W 和层报告 -T 中）。-W 或 -a 类参数需要是超类名称。-f表示统计信息中只包含持久段（文件）。缺省情况下会分析所有段。-F [ Frame1...FrameN ]显示帧 Frame1...FrameN 状态，包含其所属的段。如果没有供应帧列表，那么会显示所用内存的百分比。-g表示要显示的信息按照在调页空间上保留或使用的页面总数的降序排列。这个标志结合段报告改变了排序列表末尾的非工作段。-G显示全局报告。-iInterval [ NumIntervals]指示 svmon 命令重复显示统计信息。-j显示每个持久段引用的文件路径。 注:因为该标志会对性能产生潜在的影响（特别是svmon -S），所以请谨慎使用。-l每个显示的段都会显示使用段的进程标识符列表，并且根据报告类型显示进程所属的实体名（登录、命令、层或类）。-m段映射源段时，显示关于源段的信息并映射段。缺省值是只显示关于映射段的信息。-n表示统计信息中只包含非系统段。缺省情况下会分析所有段。-p表示将要显示的信息按照带固定内存的页面总数降序排列。-P [ PID1... PIDN]显示进程 PID1...PIDN 的内存使用统计信息。-q根据它们是否处理大页面而过滤结果。另外，它显示大页面度量值。-r显示已分配的段页面内的范围。-s表示统计信息中只包含系统段。缺省情况下会分析所有段。-S [ SID1...SIDN ]显示段 SID1...SIDN 的内存使用统计信息。-tCount显示要打印的最高 Count 对象的内存使用统计信息-T [ Tier1...TierN ]显示所有层号 Tier1...TierN 的类的内存使用统计信息。-u表示要显示的信息按照实内存的页面总数降序排列。-U [ LogName1...LogNameN ]显示登录名 LogName1...LogNameN 的内存使用统计信息。-v表示要显示的信息按照虚拟空间的页面总数降序排列。-w表示统计信息中只包含工作段。缺省情况下会分析所有段。-W [ Clnm1...ClnmN ]显示工作负载管理类 Clnm1...ClnmN 的内存使用统计信息。-x显示层报告 -T 中对某个层的每个类的段的内存使用统计信息。-z显示在执行 svmon 过程中动态分配的最大内存大小。
命令示例
1、要打印全局统计信息，请输入： 
svmon -G 
...............页大小......正在使用......空闲......固定内存......虚拟
内存........786432.........99980....686452.........61545.....86822
页空间.......16384..........1084
...............工作......持久......客户......大页面
固定内存.......45164.........0.........0.......16384
正在使用.......70261.....13335.........0........8192
.............页大小......大小.......空闲
大页池........16.MB.........4..........2
2、要打印 1/2 小时中每分钟的全局统计信息，请输入： svmon -G -i 60 30 
3、要打印用户 steve 的内存统计信息，请输入： 
svmon -U steve
=============================================================================== 
用户 正在使用 固定内存 调页空间 虚拟 
LPageCap steve 16309 11269 1083 16304 Y 
页大小 正在使用 固定内存 调页空间 虚拟 
4 KB 8117 3077 1083 8112 16 MB 2 2 0 2 
4、要打印出只考虑工作段的用户 root 和 steve 的内存使用统计信息，请输入： 
svmon -U root steve -w 
5、要打印出调页空间的最高的 10 个用户，请输入：  svmon -U -g -t 10 
6、要打印出用户 steve 的内存使用统计信息，包含属于 steve 的进程，请输入： svmon -U steve -d
要只报告具有大页面权能的用户，请输入： svmon -U -q
7、要打印出命令 login 的内存使用统计信息, 包括地址范围，请输入： 
svmon -C login -r
8、要打印命令 oracle、xemacs 以及 cc 的内存使用统计信息，请输入： 
svmon -C oracle xemacs cc