aix如何查看最耗CPU的進程
首先要查誰用CPU最多:
顯示前10個累計占用CPU時間的進程
#ps -e|head -n 1;ps -e|grep -v"TIME|0:"|sort +2b -3 -n -r|head -n 10
顯示前10個當前占用CPU時間的進程
#ps -ef|head -n 1;ps -ef|grep -v"C|0:00"|sort +3b -4 -n -r|head -n 10
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
面這幾個命令組合對於管理RS/6000 AIX系統有幫助:
(1)顯示10個消耗CPU最多的進程:
# ps aux |head -1 ;ps aux |sort -rn +2 |head –10
(2)顯示10個消耗存儲空間最多的進程:
# ps aux |head -1 ;ps aux |sort -rn +3 |head -10
(3)按順序顯示系統中受罰的進程:
#ps -eakl |head -1 ;ps -eakl |sort -rn +5
(4)按優先級順序顯示系統中的進程:
#ps -eakl |sort -n +6 |head
(5)按處理時間為順序顯示系統中的前十個進程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +3 |head –10
(6)按實際內存使用的多少順序顯示系統中的前十個進程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head –10
(7)按換入頁面的多少順序顯示系統中的前10個進程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +4 |head -10