Prayer

在一般中寻求卓越
posts - 1226, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
  (1)显示10个消耗cpu最多的进程
  # ps aux |head -1 ;ps aux |sort -rn +2 |head -10

  (2)显示10个消耗内存最多的进程

  #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head -10

  (3)显示10个换页最多的进程

  #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +4 |head -10

  (4)显示10个消耗存储空间最多的进程

  #ps aux |head -1 ;ps aux |sort -rn +3 |head -10


如何监控进程的内存使用情况(AIX)

AIX监控进程内存使用的工具比较多,个人觉得比较方便的有nmon,svmon,其中svmon是AIX自带的工具,

需要root权限执行,可以监控进程详细内存使用信息,如:

svmon -P pid(要监控的进程PID) -i 1 (每秒刷新一次)  |grep  pid 


 

 

AIX下进程内存分析
AIX下可以使用ps v工具或者svmon工具来分析进程内存。ps v命令是ps命令的一个工
具,要注意的是v之前不要加”-“。ps v工具在任何AIX操作系统下都可以使用。比
如:

# ps -lfp 13288
  F      S    UID   PID PPID C PRI NI ADDR    SZ  WCHAN STIME  TTY TIME CMD
  240001 A oracle 13288    1 0  60 20 1ba2f 34032       Nov 03   - 0:06
ora_pmon_DEV

  # ps v 13288
    PID TTY STAT TIME PGIN SIZE   RSS   LIM  TSIZ   TRS %CPU %MEM  COMMAND
  13288   - A    0:08  225 5616 13904 32768 28420 13512  0.0  1.0
ora_pmon_DEV



从ps命令看到sz是34M。而用ps v命令可以看到rss是13904,TRS是13512。进程使用的
内存是RSS-TRS=392K(ps v看到的内存单位是K)。


用svmon可以看到更多的信息,其结果和ps v是一致的。比如:

#svmon -P 23288
----------------------------------------------------------------------------
---
     Pid Command     Inuse   Pin   Pgsp Virtual   64-bit    Mthrd
   23288 ora_pmon_V8    29598     1451      182     16560        N        N
  Vsid Esid Type Description           Inuse       Pin Pgsp Virtual   Addr
Range
  1781    3 work shmat/mmap            11824         0    0 11824
0..24700
  1761    1 pers code,large file /dev   9681         0    -     -
0..9680
     0    0 work kernel seg             3982      1450  182  3390
0..21804 :
 
65474..65535
 18018    d work shared library text    2852         0    0   158
0..65535
  4764    2 work process private        1127         1    0  1127
0..1182 :
 
65307..65535
  f74f    f work shared library data      81         0    0    61
0..1291
 1e59e    - pers large file /dev/lv00     33         0    -     -      0..32
  e58e    - pers large file /dev/lv00     16         0    -     -      0..82
  b74b    - pers large file /dev/lv00      1         0    -     -      0..0
  3703    - pers large file /dev/lv00      1         0    -     -      0..0


#ps v 23288
   PID    TTY STAT  TIME PGIN  SIZE   RSS   LIM  TSIZ   TRS %CPU %MEM
COMMAND
 23288      - A     0:00    0  4752 43556 32768 27289 38724  0.0  5.0
ora_pmon_V8



要注意的是,svmon显示的内存都是以Page为单位的,AIX下,每个页为4K。
通过work process private的virtual大小和work shared library data的virtual大小
的和ps v的SIZE是完全一致的:
4752K=(1127+61)×4K
而RSS的内容相当于linux项目的private working-storage segments加上pers code和
shared library data。
43556K=(1127 + 9681 + 81)*4K
TRS就是INUSE项目的pers code:
38724K=9681*4K
 


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理