ps -eo pid,pcpu,pmem,args|grep $SWDIR

ps   -eo   pid   pcpu   pmem   rss   

pcpu是CPU利用率,pmem是內存利用率,這兩個都是用百分比表示 
rss是實際駐留內存的大小,單位是K

 

==================================

ps -eo vsz,pcpu,stime,pid,args | egrep "$SWDIR/etc/sw*bgmbd" | sort -nr

==============================

 

使用prstat命令 
使用prstat命令檢查和顯示關於系統中活動進程的信息。 
這個命令也可以顯示指定進程的信息,UID,(CPU)IDs,或者處理器設置。默認的prstat命令顯示的所有信息是以CPU佔用率進行排序的。執行prstat命令: 
# prstat 
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU POCESS/NLWP 
1641 root     4864K 4520K cpu0    59    0   0:00:00 0.5% prstat/1 
  1635 root     1504K 1168K sleep   59    0   0:00:00 0.3% ksh/1 
     9 root     6096K 4072K sleep   59    0   0:00:29 0.1% svc.configd/11 
   566 root       82M   30M sleep   29   10   0:00:36 0.1% java/14 
  1633 root     2232K 1520K sleep   59    0   0:00:00 0.1% in.rlogind/1 
   531 root     8200K 2928K sleep   59    0   0:00:12 0.1% dtgreet/1 
   474 root       21M 7168K sleep   59    0   0:00:11 0.1% Xsun/1 
   236 root     4768K 2184K sleep   59    0   0:00:03 0.0% inetd/4 
    86 root     3504K 1848K sleep   59    0   0:00:01 0.0% nscd/24 
Total: 53 processes, 171 lwps, load averages: 0.02, 0.04, 0.07 
退出prstat命令按q鍵。 

Prstat報告的內容 
PID                  進程的PID號 
USERNAME          登陸用戶名或者進程UID的所有者 
SIZE                 進程總體虛擬內存的大小 
RSS                  進程駐留大小設置Kbyte Mbyte Gbyte. 
STATE               cpu進程運行在那個CPU上。Sleep進程等待一個事件的完成。Run進程在運行隊列中zombie進程停止但是父進程並不等待stop進程停止。 
PRI                   進程的優先級 
NICE                 計算優先級的數值 
TIME                 進程累積運行時間 
CPU                  進程最近佔用CPU的百分比 
PRCESS/NLWP         進程名/在進程中的輕量進程號 

 

 

 

有的機器上用top

 

 

 

使用svmon命令,可與 -u、-p、-g 或 -v 標誌來更改排序規則。如果不瞭解就輸入 svmon -help 看看多有什麼規則。按你的題目來,比如說我獲得使用內存前10個進程,命令爲:svmon -Pt10 | perl -e 'while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)}'

補充,svmon命令是在AIX系統上的。ps命令比較通用,樓主既然接觸了Unix,肯定比較瞭解這個命令,我接觸的還是AIX居多,如果樓主沒裝,可以將svmon換做ps。

這個命令本身是按使用內存多少降序排列的。而且列出了具體的使用情況。你注意看裏面的參數,Inuse一欄顯示的是進程使用的段在實際內存中的總頁數,pin一欄顯示的是鎖定的總頁數,Pgsp一欄顯示的是調用空間總頁數,Virtual一欄顯示的進程在虛擬空間總頁數,注意,AIX中默認4k爲一頁。這個命令是非常詳細的列出了進程使用內存的情況。

正常來說,由於Unix和windows管理內存方式的不同,Unix經常有內存快被耗光的假象,你運行ps aux命令,注意rss欄,看是否存在內存泄露情況。

 

1:不是每個人每個電腦都裝着AIX,solaris就用pmap吧建議用vmstat或者直接用ps代替svmon,這樣更通用些命令的使用方法 -help自己學

2:不是每個人每個電腦都有perl 建議樓上把命令換成grep吧,如果不懂正則,也別grep了,直接看第一個命令的結果就是

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章