Aix命令:列出使用記憶體和Cpu前幾位的程式
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【AIX】記憶體AI記憶體
- AIX詳細檢視使用者/程式使用記憶體AI記憶體
- CPU和記憶體如何互動的記憶體
- 記憶體溢位和記憶體洩露記憶體溢位記憶體洩露
- CPU快取和記憶體屏障快取記憶體
- 【記憶體洩漏和記憶體溢位】JavaScript之深入淺出理解記憶體洩漏和記憶體溢位記憶體溢位JavaScript
- Linux(CentOS) 檢視當前佔用CPU或記憶體最多的K個程式LinuxCentOS記憶體
- java記憶體溢位和記憶體洩漏的區別Java記憶體溢位
- JavaScript之記憶體溢位和記憶體洩漏JavaScript記憶體溢位
- Linux中顯示記憶體和CPU使用率最高的程式的SHELL指令碼例子Linux記憶體指令碼
- [Java基礎]記憶體洩漏和記憶體溢位Java記憶體溢位
- 優化.NET 應用程式 CPU 和記憶體的11 個實踐優化記憶體
- 如何使用 Docker 來限制 CPU、記憶體和 IO等資源?Docker記憶體
- 記憶體CPU監控記憶體
- CPU快取記憶體快取記憶體
- PowerShell 指令碼來監控 CPU、記憶體和磁碟使用情況:指令碼記憶體
- 在Linux中,如何檢查系統的CPU和記憶體使用情況?Linux記憶體
- Docker之CPU和記憶體磁碟設定(八)Docker記憶體
- 異常、堆記憶體溢位、OOM的幾種情況記憶體溢位OOM
- Java棧溢位|記憶體洩漏|記憶體溢位Java記憶體溢位
- Executors使用不當引起的記憶體溢位記憶體溢位
- 簡單的記憶體“洩露”和“溢位”記憶體
- Linux下檢視CPU型號,記憶體大小,硬碟空間的命令Linux記憶體硬碟
- 記憶體溢位記憶體溢位
- Shell----監控CPU/記憶體/負載高時的程式記憶體負載
- 使用 top 命令瞭解 Fedora 的記憶體使用情況記憶體
- 從Oracle資料庫故障到AIX記憶體管理Oracle資料庫AI記憶體
- 【Java】幾種典型的記憶體溢位案例,都在這兒了!Java記憶體溢位
- 使用 vmstat 命令確定記憶體使用情況記憶體
- Windbg下使用dump分析記憶體溢位記憶體溢位
- 記憶體和棧溢位問題定位記憶體
- JVM——記憶體洩漏與記憶體溢位JVM記憶體溢位
- 談談CPU快取記憶體快取記憶體
- docker的資源控制(CPU、記憶體、IO)Docker記憶體
- 用以檢查Linux記憶體使用的5個命令Linux記憶體
- Java記憶體溢位Java記憶體溢位
- 從記憶體洩露、記憶體溢位和堆外記憶體,JVM優化引數配置引數記憶體洩露記憶體溢位JVM優化
- Linux 檢視記憶體使用情況的幾種方法Linux記憶體
- BufferedImage記憶體洩漏和溢位問題記憶體