AIX 7 中 proctreesvmon 命令详解

1. proctree 命令

功能概述

proctree 命令用于以树状结构显示系统中的进程,清晰地展示进程之间的父子关系。

基本语法

proctree [选项] [进程ID]

常见用法

  • 显示所有进程的树状结构

    proctree
    
  • 显示特定进程及其子进程的树状结构

    proctree <PID>
    
  • 结合其他命令使用proctreeproc 工具集的一部分。在 procmon 图形工具中,可以通过右键菜单对选中的进程执行 proctree 等命令。

文档依据

在《IBM AIX 7 commands_pdf.pdf》中,proctree 被列为 proctools 命令之一,用于进程管理。

2. svmon 命令

功能概述

svmon 命令用于深入分析内存使用情况。它比 vmstatps 命令提供更详细的信息,可以捕获内存当前状态的快照(在用户级运行,并非完全实时)。它可以显示整个系统、特定进程、用户、命令或工作负载管理器(WLM)类/层的内存使用统计信息。

基本语法

svmon [全局选项] [报告选项] [对象选项] [其他选项]

常用报告类型与选项

svmon 通过不同的主选项来生成不同类型的报告:

选项 报告内容 描述
-G 全局报告 显示整个系统的真实内存和分页空间使用统计。
-P 进程报告 显示进程的内存使用统计。
-U 用户报告 显示按用户汇总的内存使用统计。
-C 命令报告 显示按命令名汇总的内存使用统计。
-W WLM类报告 显示工作负载管理器(WLM)类的内存使用统计。
-S 段报告 显示内存段的详细信息。
-D <段ID> 段详情报告 显示指定内存段的详细使用统计。

常用全局和输出控制选项

选项 描述
-i <间隔> [次数] 以指定的时间间隔(秒)重复收集并显示统计信息,可指定重复次数。
-t <数量> 仅显示前 N 个条目(例如,内存使用最多的前10个进程)。
-O <选项列表> 指定详细的输出格式和内容控制,功能非常强大(见下文详述)。
-@ [WPAR列表\ALL] 显示工作负载分区(WPAR)相关的信息。

-O 选项详解(部分关键选项)

-O 选项用于精细控制报告的输出格式和内容,可以组合使用。

选项 适用报告 描述
unit=[KB|MB|page|auto] 所有 设置输出单位(KB、MB、页或自动选择)。
summary=[basic|longreal|shortreal|ame] 主要是-G 控制全局报告的摘要格式。ame用于显示活动内存扩展信息。
segment=[on|off|category] -P, -U, -C, -W, -S 控制是否显示段详情。category将段按系统、独占、共享分类。
pgsz=[on|off] 所有 控制是否按页面大小(如4KB、64KB)细分统计。
filename=[on|off] -P, -S 显示与段关联的文件名(可能耗时)。
commandline=[on|off] 所有 在报告头中显示生成该报告的命令行。
timestamp=[on|off] 所有 在报告头中显示时间戳。
sortentity=[inuse|pin|...] -P, -U, -C, -W 指定对实体(进程、用户等)进行排序的依据字段。
filterprop=[notempty|text|data] -S 过滤段属性,如只显示非空段、文本段或数据段。
filtercat=[exclusive|kernel|shared|...] -S 按段类别过滤输出。
process=on -U, -C 在用户或命令报告中,添加属于该实体的进程的内存统计。
pidlist=on -C, -S 在命令或段报告中,显示使用该段或命令的进程ID列表。

使用示例

  • 查看系统整体内存概况(默认单位:页)

    svmon -G
    
  • 查看内存使用最多的前10个进程(单位:MB)

    svmon -P -t 10 -O unit=MB,sortentity=inuse
    
  • 以5秒间隔,监控全局内存3次(单位:MB,紧凑格式)

    svmon -G -i 5 3 -O unit=MB,summary=shortreal
    
  • 查看指定进程(如PID为221326)的详细内存信息,包括段分类和文件名

    svmon -P 221326 -O segment=category,filename=on
    
  • 查看用户“root”的内存使用,并显示其下的进程详情

    svmon -U root -O process=on
    
  • 查看命令“java”的内存使用,并显示其段详情和非空过滤

    svmon -C java -O segment=on,filterprop=notempty
    
  • 查看所有WLM类的内存使用,并显示子类

    svmon -W -O subclass=on
    

重要说明

  • 权限svmon 命令通常需要 root 权限才能获取完整的系统视图。非 root 用户看到的信息可能受限。
  • 性能影响:虽然 svmon 比一些底层工具侵入性小,但在高负载系统上频繁运行或使用非常详细的选项(如 filename=on)仍可能对性能产生轻微影响。
  • ps命令的关系ps 命令不显示共享内存段或内存映射段的使用情况,而 svmon 可以,因此 svmon 是分析应用程序内存占用的更佳工具。
  • 配置:用户可以在家目录创建 .svmonrc 文件来预设默认的 -O 选项。

文档依据

《IBM AIX 7 Performance Tools Guide and Reference.pdf》中关于 svmon 的完整章节

《IBM AIX 7 Performance management.pdf》中关于内存测量的部分。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐