Aix命令:列出使用記憶體和Cpu前幾位的程式

531968912發表於2016-03-31

Aix命令:列出使用記憶體和Cpu前幾位的程式

(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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2073256/,如需轉載,請註明出處,否則將追究法律責任。

相關文章