1、tophtml
linux 的 top 命令主要用來監控系統實時負載率、進程的資源佔用率及其它各項系統狀態屬性是否正常。node
前 8 行是系統總體的統計信息。第 1 行是任務隊列信息,同 uptime 命令的執行結果linux
07:55:45ios |
當前時間nginx |
5 days, 23:58web |
系統運行時間,格式爲時:分express |
1 userapache |
當前登陸用戶數緩存 |
load average: 0.00, 0.02, 0.00安全 |
系統負載,即任務隊列的平均長度。 三個數值分別爲 1分鐘、5分鐘、15分鐘前到如今的平均值。 注意:這三個值能夠用來斷定系統是否負載太高——若是值 持續大於系統 cpu 個數,就須要優化你的程序或者架構了。 |
第 2~6 行爲進程和CPU的信息。當有多個CPU時,這些內容可能會超過兩行。內容以下:
Tasks: 84 total |
進程總數 |
1 running |
正在運行的進程數 |
83 sleeping |
睡眠的進程數 |
0 stopped |
中止的進程數 |
0 zombie |
殭屍進程數 |
0.0% us |
用戶空間佔用CPU百分比 |
0.4% sy |
內核空間佔用CPU百分比 |
0.0% ni |
用戶進程空間內改變過優先級的進程佔用CPU百分比 |
99.1% id |
空閒CPU百分比 |
0.0% wa |
等待輸入輸出的CPU時間百分比 |
0.0% hi |
Hardware IRQ 中斷請求 |
0.5% si |
Software IRQ 中斷請求 |
2056096k total |
物理內存總量 |
2032324k used |
使用的物理內存總量 |
23772k free |
空閒內存總量 |
39548k buffers |
用做內核緩存的內存量 |
2096472k total |
交換區總量 |
224k used |
使用的交換區總量 |
2096248k free |
空閒交換區總量 |
1763472k cached |
緩衝的交換區總量。 內存中的內容被換出到交換區,然後又被換入到內存,但使用過的交換區還沒有被覆蓋, 該數值即爲這些內容已存在於內存中的交換區的大小。 相應的內存再次被換出時可沒必要再對交換區寫入。 |
PS:如何計算可用內存和已用內存?
除了 free -m 以外,也能夠看 top:
Mem: 255592k total, 167568k used, 88024k free, 25068k buffers
Swap: 524280k total, 0k used, 524280k free, 85724k cached
3.1 實際的程序可用內存數怎麼算呢?
The answer is: free + (buffers + cached)
88024k + (25068k + 85724k) = 198816k
3.2 程序已用內存數又怎麼算呢?
The answer is: used – (buffers + cached)
167568k – (25068k + 85724k) = 56776k
3.3 怎麼判斷系統是否內存不足呢?
若是你的 swap used 數值大於 0 ,基本能夠判斷已經遇到內存瓶頸了,要麼優化你的代碼,要麼加內存。
統計信息區域的下方顯示了各個進程的詳細信息。
序號 |
列名 |
含義 |
a |
PID |
進程id |
b |
PPID |
父進程id |
c |
RUSER |
Real user name |
d |
UID |
進程全部者的用戶id |
e |
USER |
進程全部者的用戶名 |
f |
GROUP |
進程全部者的組名 |
g |
TTY |
啓動進程的終端名。不是從終端啓動的進程則顯示爲 ? |
h |
PR |
優先級 |
i |
NI |
nice值。負值表示高優先級,正值表示低優先級 |
j |
P |
最後使用的CPU,僅在多CPU環境下有意義 |
k |
%CPU |
上次更新到如今的CPU時間佔用百分比 |
l |
TIME |
進程使用的CPU時間總計,單位秒 |
m |
TIME+ |
進程使用的CPU時間總計,單位1/100秒 |
n |
%MEM |
進程使用的物理內存百分比 |
o |
VIRT |
進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES |
p |
SWAP |
進程使用的虛擬內存中,被換出的大小,單位kb。 |
q |
RES |
進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA |
r |
CODE |
可執行代碼佔用的物理內存大小,單位kb |
s |
DATA |
可執行代碼之外的部分(數據段+棧)佔用的物理內存大小,單位kb |
t |
SHR |
共享內存大小,單位kb |
u |
nFLT |
頁面錯誤次數 |
v |
nDRT |
最後一次寫入到如今,被修改過的頁面數。 |
w |
S |
進程狀態。 |
D=不可中斷的睡眠狀態 |
||
R=運行 |
||
S=睡眠 |
||
T=跟蹤/中止 |
||
Z=殭屍進程 |
||
x |
COMMAND |
命令名/命令行 |
y |
WCHAN |
若該進程在睡眠,則顯示睡眠中的系統函數名 |
z |
Flags |
任務標誌,參考 sched.h |
默認狀況下僅顯示比較重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。
能夠經過下面的快捷鍵來更改顯示內容:
5.1 f 鍵選擇顯示內容
經過 f 鍵能夠選擇顯示的內容。按 f 鍵以後會顯示列的列表,按 a-z 便可顯示或隱藏對應的列,最後按回車鍵肯定。
5.2 o 鍵改變顯示順序
按 o 鍵能夠改變列的顯示順序。按小寫的 a-z 能夠將相應的列向右移動,而大寫的 A-Z 能夠將相應的列向左移動。最後按回車鍵肯定。
5.3 F/O 鍵將進程按列排序
按大寫的 F 或 O 鍵,而後按 a-z 能夠將進程按照相應的列進行排序。而大寫的 R 鍵能夠將當前的排序倒轉
從使用角度來看,熟練的掌握這些命令比掌握選項還重要一些。這些命令都是單字母的,若是在命令行選項中使用了s選項,則可能其中一些命令會被屏蔽掉。
Ctrl+L 擦除而且重寫屏幕。
h或者? 顯示幫助畫面,給出一些簡短的命令總結說明。
k終止一個進程。系統將提示用戶輸入須要終止的進程PID,以及須要發送給該進程什麼樣的信號。通常的終止進程可使用15信號;若是不能正常結束那就使用信號9強制結束該進程。默認值是信號15。在安全模式中此命令被屏蔽。
i 忽略閒置和僵死進程。這是一個開關式命令。
q 退出程序。
r從新安排一個進程的優先級別。系統提示用戶輸入須要改變的進程PID以及須要設置的進程優先級值。輸入一個正值將使優先級下降,反之則可使該進程擁有更高的優先權。默認值是10。
S 切換到累計模式。
s 改變兩次刷新之間的延遲時間。系統將提示用戶輸入新的時間,單位爲s。若是有小數,就換算成m s。輸入0值則系統將不斷刷新,默認值是5 s。須要注意的是若是設置過小的時間,極可能會引發不斷刷新,從而根原本不及看清顯示的狀況,並且系統負載也會大大增長。
f或者F 從當前顯示中添加或者刪除項目。
o或者O 改變顯示項目的順序。
l 切換顯示平均負載和啓動時間信息。
m 切換顯示內存信息。
t 切換顯示進程和CPU狀態信息。
c 切換顯示命令名稱和完整命令行。
M 根據駐留內存大小進行排序。
P 根據CPU使用百分比大小進行排序。
T 根據時間/累計時間進行排序。
W 將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。
一、輸入大寫P,則結果按CPU佔用降序排序。
二、輸入大寫M,結果按內存佔用降序排序。
三、按數字 1 則能夠顯示全部CPU核心的負載狀況。
四、top -d 5 每隔 5 秒刷新一次,默認 1 秒
五、top -p 4360,4358 監控指定進程
六、top -U johndoe ‘U’爲 真實/有效/保存/文件系統用戶名。
七、top -u 500 ‘u’爲有效用戶標識
八、top -bn 1 顯示全部進程信息,top -n 1 只顯示一屏信息,供管道調用
九、top -M #show memory summary in megabytes not kilobytes
十、top -p 25097 -n 1 -b # -b 避免輸出控制字符,管道調用出現亂碼
十一、top翻頁:top -bn1 | less
十二、加強版的 top:htop ,一個更增強大的交互式進程管理器:
2、iostat
Linux系統出現了性能問題,通常咱們能夠經過top、iostat、free、vmstat等命令來查看初步定位問題。其中iostat能夠給咱們提供豐富的IO狀態數據。
1. 基本使用
# iostat -d -k 2 5 #查看TPS和吞吐量信息
參數 -d 表示,顯示設備(磁盤)使用狀態;-k某些使用block爲單位的列強制使用Kilobytes爲單位;2 5表示,數據顯示每隔2秒刷新一次,共顯示5次。
tps:該設備每秒的傳輸次數(Indicate the number of transfers per second that were issued to the device.)。「一次傳輸」意思是「一次I/O請求」。多個邏輯請求可能會被合併爲「一次I/O請求」。「一次傳輸」請求的大小是未知的。
kB_read/s:每秒從設備(drive expressed)讀取的數據量;kB_wrtn/s:每秒向設備(drive expressed)寫入的數據量;kB_read:讀取的總數據量;kB_wrtn:寫入的總數量數據量;這些單位都爲Kilobytes。
2. -x 參數
使用-x參數咱們能夠得到更多統計信息
# iostat –d –x –k 2 3 #查看設備使用率(%util)、響應時間(await)
await:每個IO請求的處理的平均時間(單位是微秒毫秒)。這裏能夠理解爲IO的響應時間,通常地系統IO響應時間應該低於5ms,若是大於10ms就比較大了。
%util:在統計時間內全部處理IO時間,除以總共統計時間。例如,若是統計間隔1秒,該設備有0.8秒在處理IO,而0.2秒閒置,那麼該設備的%util = 0.8/1 = 80%,因此該參數暗示了設備的繁忙程度。通常地,若是該參數是100%表示設備已經接近滿負荷運行了(固然若是是多磁盤,即便%util是100%,由於磁盤的併發能力,因此磁盤使用未必就到了瓶頸)。
3. -c 參數
# iostat –c 1 3 #查看cpu狀態
iostat還能夠用來獲取cpu部分狀態值:
%user: 在用戶級別運行所使用的CPU的百分比.
%nice: nice操做所使用的CPU的百分比.
%sys: 在系統級別(kernel)運行所使用CPU的百分比.
%iowait: CPU等待硬件I/O時,所佔用CPU百分比.
%idle: CPU空閒時間的百分比.
4.iostat直接使用
# iostat
會直接輸出cup段和磁盤段的IO信息
3、vmstat
vmstat命令用於展示給定時間間隔的服務器的狀態值,包括服務器的CPU使用率,內存使用,虛擬內存交換狀況,IO讀寫狀況。
# vmstat 2 5 #第一個參數是採樣的時間間隔數,單位是秒,第二個參數是採樣的次數
#vmstat 2 #一直採集,直到我結束程序
Ctrl+c
r表示運行隊列(就是說多少個進程真的分配到CPU),當這個值超過了CPU數目,就會出現CPU瓶頸了。通常負載超過了3就比較高,超過了5就高,超過了10就不正常了,服務器的狀態很危險。top的負載相似每秒的運行隊列。若是運行隊列過大,表示你的CPU很繁忙,通常會形成CPU使用率很高。
b表示阻塞的進程。
swpd虛擬內存已使用的大小,若是大於0,表示你的機器物理內存不足了。
free空閒的物理內存的大小。
Buff 內核緩存,緩存系統權限等信息。
cache直接用來記憶咱們打開的文件,給文件作緩衝, (這裏是Linux/Unix的聰明之處,把空閒的物理內存的一部分拿來作文件和目錄的緩存,是爲了提升 程序執行的性能,當程序使用內存時,buffer/cached會很快地被使用。)
si每秒從磁盤讀入虛擬內存的大小,若是這個值大於0,表示物理內存不夠用或者內存泄露了,要查找耗內存進程解決掉。
so每秒虛擬內存寫入磁盤的大小,若是這個值大於0標示內存不足。
bi塊設備每秒接收的塊數量,這裏的塊設備是指系統上全部的磁盤和其餘塊設備,默認塊大小是1024byte
bo塊設備每秒發送的塊數量, bi和bo通常都要接近0,否則就是IO過於頻繁,須要調整。
in每秒CPU的中斷次數,包括時間中斷
cs每秒上下文切換次數,這個值要越小越好,太大了,要考慮調低線程或者進程的數目,例如在apache和nginx這種web服務器中,咱們通常作性能測試時會進行幾千併發甚至幾萬併發的測試,選擇web服務器的進程能夠由進程或者線程的峯值一直下調,壓測,直到cs到一個比較小的值,這個進程和線程數就是比較合適的值了。系統調用也是,每次調用系統函數,咱們的代碼就會進入內核空間,致使上下文切換,這個是很耗資源,也要儘可能避免頻繁調用系統函數。上下文切換次數過多表示你的CPU大部分浪費在上下文切換,致使CPU幹正經事的時間少了,CPU沒有充分利用,是不可取的。
us 用戶CPU時間。
sy 系統CPU時間,若是過高,表示系統調用時間長。
id 空閒 CPU時間,通常來講,id + us + sy = 100,通常我認爲id是空閒CPU使用率,us是用戶CPU使用率,sy是系統CPU使用率。
wt 等待IO CPU時間。
備註: 若是 r常常大於 4 ,且id常常少於40,表示cpu的負荷很重。若是si,so 長期不等於0,表示內存不足。若是bi,bo 常常不等於0, 且在 b中的隊列 大於3, 表示 io性能很差。
# vmstat -a 2 3 #顯示活躍和非活躍內存
# vmstat –f #查看系統已經fork了多少次,調用
# vmstat –s #查看內存使用的詳細信息
# vmstat –d #查看磁盤的讀/寫
四.Ps
ps命令是Process Status的縮寫。ps命令用來列出系統中當前運行的那些進程快照。
ps -ef | grep ora #列出含有ora的進程。
參考資料:
http://www.cnblogs.com/peida/archive/2012/12/19/2824418.html
五.Ipcs
ipcs肯定共享內存的使用狀況,該命令用於輸出系統中處於active狀態的消息隊列,共享內存段以及信號量的有關消息。
一般最好讓整個SGA處於一個單一的共享內存段,由於跟蹤一個以上的段將須要額外的開銷,在這些段來回切換也須要時間。能夠增長/etc/sysctl.conf文件kernel.shmmax參數值,以增長一個單一的共享內存段的最大尺寸。
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295
6、free 查看系統內存使用狀況
Free –m 以M爲單位顯示內存大小
7、mpstat
mpstat是Multiprocessor Statistics的縮寫,是實時系統監控工具。其報告與CPU的一些統計信息,mpstat最大的特色是:能夠查看多核心cpu中每一個計算核心的統計數據
字段的含義以下
%user #在internal時間段裏,用戶態的CPU時間(%),不包含nice值爲負進程 (usr/total)*100
%nice #在internal時間段裏,nice值爲負進程的CPU時間(%) (nice/total)*100
%sys #在internal時間段裏,內核時間(%) (system/total)*100
%iowait #在internal時間段裏,硬盤IO等待時間(%) (iowait/total)*100
%irq #在internal時間段裏,硬中斷時間(%) (irq/total)*100
%soft #在internal時間段裏,軟中斷時間(%) (softirq/total)*100
%idle #在internal時間段裏,CPU除去等待磁盤IO操做外的由於任何緣由而空閒的時間閒置時間(%) (idle/total)*100
http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858775.html
四.Sar
sar(System Activity Reporter系統活動狀況報告)能夠從多方面對系統的活動進行報告,包括:文件的讀寫狀況、系統調用的使用狀況、磁盤I/O、CPU效率、內存使用情況、進程活動及IPC有關的活動等
1.基本命令格式
sar [options] [-A] [-o file] t [n]
t爲採樣間隔,n爲採樣次數,默認值是1;
-o file表示將命令結果以二進制格式存放在文件中,file 是文件名。
options 爲命令行選項,sar命令經常使用選項以下:
-A:全部報告的總和
-u:輸出CPU使用狀況的統計信息
-v:輸出inode、文件和其餘內核表的統計信息
-d:輸出每個塊設備的活動信息
-r:輸出內存和交換空間的統計信息
-b:顯示I/O和傳送速率的統計信息
-a:文件讀寫狀況
-c:輸出進程統計信息,每秒建立的進程數
-R:輸出內存頁面的統計信息
-y:終端設備活動狀況
-w:輸出系統交換活動信息
2.CPU資源監控
# sar -u 2 3
CPU:all 表示統計信息爲全部 CPU 的平均值。
%user:顯示在用戶級別(application)運行使用 CPU 總時間的百分比。
%nice:顯示在用戶級別,用於nice操做,所佔用 CPU 總時間的百分比。
%system:在覈心級別(kernel)運行所使用 CPU 總時間的百分比。
%iowait:顯示用於等待I/O操做佔用 CPU 總時間的百分比。
%steal:管理程序(hypervisor)爲另外一個虛擬進程提供服務而等待虛擬 CPU 的百分比。
%idle:顯示 CPU 空閒時間佔用 CPU 總時間的百分比。
若 %iowait 的值太高,表示硬盤存在I/O瓶頸
若 %idle 的值高但系統響應慢時,有多是 CPU 等待分配內存,此時應加大內存容量
若 %idle 的值持續低於1,則系統的 CPU 處理能力相對較低,代表系統中最須要解決的資源是 CPU 。
3.inode、文件和其餘內核表監控
# sar -v 1 4
dentunusd:目錄高速緩存中未被使用的條目數量
file-nr:文件句柄(file handle)的使用數量
inode-nr:索引節點句柄(inode handle)的使用數量
pty-nr:使用的pty數量
4. 內存和交換空間監控
# sar -r 1 4
kbmemfree:這個值和free命令中的free值基本一致,因此它不包括buffer和cache的空間.
kbmemused:這個值和free命令中的used值基本一致,因此它包括buffer和cache的空間.
%memused:這個值是kbmemused和內存總量(不包括swap)的一個百分比.
kbbuffers和kbcached:這兩個值就是free命令中的buffer和cache.
kbcommit:保證當前系統所須要的內存,即爲了確保不溢出而須要的內存(RAM+swap).
%commit:這個值是kbcommit與內存總量(包括swap)的一個百分比.
5. 內存分頁監控
# sar -B 1 4
pgpgin/s:表示每秒從磁盤或SWAP置換到內存的字節數(KB)
pgpgout/s:表示每秒從內存置換到磁盤或SWAP的字節數(KB)
fault/s:每秒鐘系統產生的缺頁數,即主缺頁與次缺頁之和(major + minor)
majflt/s:每秒鐘產生的主缺頁數.
pgfree/s:每秒被放入空閒隊列中的頁個數
pgscank/s:每秒被kswapd掃描的頁個數
pgscand/s:每秒直接被掃描的頁個數
pgsteal/s:每秒鐘從cache中被清除來知足內存須要的頁個數
%vmeff:每秒清除的頁(pgsteal)佔總掃描頁(pgscank+pgscand)的百分比
6. I/O和傳送速率監控
# sar -b 1 4
tps:每秒鐘物理設備的 I/O 傳輸總量
rtps:每秒鐘從物理設備讀入的數據總量
wtps:每秒鐘向物理設備寫入的數據總量
bread/s:每秒鐘從物理設備讀入的數據量,單位爲 塊/s
bwrtn/s:每秒鐘向物理設備寫入的數據量,單位爲 塊/s
7. 進程隊列長度和平均負載狀態監控
# sar -q 1 4
runq-sz:運行隊列的長度(等待運行的進程數)
plist-sz:進程列表中進程(processes)和線程(threads)的數量
ldavg-1:最後1分鐘的系統平均負載(System load average)
ldavg-5:過去5分鐘的系統平均負載
ldavg-15:過去15分鐘的系統平均負載
8. 系統交換活動信息監控
# sar -W 1 4
pswpin/s:每秒系統換入的交換頁面(swap page)數量
pswpout/s:每秒系統換出的交換頁面(swap page)數量
9. 設備使用狀況監控
# sar -d 1 4 -p
-p能夠打印出sda,hdc等磁盤設備名稱,若是不用參數-p,設備節點則有多是dev8-0,dev22-0
tps:每秒從物理磁盤I/O的次數.多個邏輯請求會被合併爲一個I/O磁盤請求,一次傳輸的大小是不肯定的.
rd_sec/s:每秒讀扇區的次數.
wr_sec/s:每秒寫扇區的次數.
avgrq-sz:平均每次設備I/O操做的數據大小(扇區).
avgqu-sz:磁盤請求隊列的平均長度.
await:從請求磁盤操做到系統完成處理,每次請求的平均消耗時間,包括請求隊列等待時間,單位是毫秒(1秒=1000毫秒).
svctm:系統處理每次請求的平均時間,不包括在請求隊列中消耗的時間.
%util:I/O請求佔CPU的百分比,比率越大,說明越飽和.
10.使用建議
avgqu-sz 的值較低時,設備的利用率較高。
當%util的值接近 1% 時,表示設備帶寬已經佔滿。
要判斷系統瓶頸問題,有時需幾個 sar 命令選項結合起來
懷疑CPU存在瓶頸,可用 sar -u 和 sar -q 等來查看
懷疑內存存在瓶頸,可用 sar -B、sar -r 和 sar -W 等來查看
懷疑I/O存在瓶頸,可用 sar -b、sar -u 和 sar -d 等來查看
5、pmap
用於顯示一個或多個進程的內存狀態。其報告進程的地址空間和內存狀態信息,進程號能夠經過top和ps命令獲取
用法
pmap [ -x | -d ] [ -q ] pids...
pmap -V
選項含義
-x extended Show the extended format. 顯示擴展格式
-d device Show the device format. 顯示設備格式
-q quiet Do not display some header/footer lines. 不顯示頭尾行
-V show version Displays version of program. 顯示版本
Address: start address of map 映像起始地址
Kbytes: size of map in kilobytes 映像大小
RSS: resident set size in kilobytes 駐留集大小
Dirty: dirty pages (both shared and private) in kilobytes 髒頁大小
Mode: permissions on map 映像權限: r=read, w=write, x=execute, s=shared, p=private (copy on write)
Mapping: file backing the map , or '[ anon ]' for allocated memory, or '[ stack ]' for the program stack. 映像支持文件,[anon]爲已分配內存 [stack]爲程序堆棧
Offset: offset into the file 文件偏移
Device: device name (major:minor) 設備名
# pmap -d 1 #查看進程1的設備格式
最後一行的值
mapped 表示該進程映射的虛擬地址空間大小,也就是該進程預先分配的虛擬內存大小,即ps出的vsz
writeable/private 表示進程所佔用的私有地址空間大小,也就是該進程實際使用的內存大小
shared 表示進程和其餘進程共享的內存大小
# pmap -x 1 #查看進程1的擴展格式
# pmap -d -q 1 #查看進程1的設備格式,不顯示頭尾行
# while true; do pmap -d 512 | tail -1; sleep 2 ;done#循環顯示進程512的設備格式的最後1行,間隔2秒
# pmap 8101
咱們能夠檢查多進程內存經過插入多個PID。加入多個PID中間使用空格分隔。
六.Prstat
Solaris 中最重要、使用最廣的實用工具,用於查詢
*系統佔用了多少 CPU 和內存
*系統效用了哪些進程(或用戶、 zone 、項目、任務)
*系統怎樣使用進程/線程(用戶綁定,I/O 綁定)
命令執行結果列解釋
*PID:進程的進程 ID。
*USERNAME:真實用戶(登陸)名稱或真實用戶 ID。
*SIZE:進程的總虛擬內存大小,以 K、M 或 G 爲單位。
*RSS:進程的駐留集大小 (RSS),以 K、M 或 G 爲單位。
*STATE:進程的狀態 (cpuN/sleep/wait/run/zombie/stop)。
*PRI:進程的優先級。數字更大表示優先級更高。
*NICE:優先級計算中使用的 nice 值。只有特定調度類中的進程纔有 nice 值。
*TIME:進程的累計執行時間。
*CPU:進程使用的當前 CPU 時間的百分比。若是在非全局域中執行而且池設備是活動的,百分比將是 zone 綁定的池所使用的處理器集合中處理器的百分比。
*PROCESS:進程的名稱(執行文件的名稱)。
*NLWP:進程中 lwps 的數量。
參考資料:http://www.360doc.com/content/09/0905/06/222683_5597972.shtml
七.Filemon
filemon 命令跟蹤設備來獲取一段時間間隔內的 I/O 活動的詳細圖像,該時間間隔產生於文件系統應用的不一樣層面,包括本地文件系統、虛擬內存段、LVM 和物理磁盤層。
參考資料:http://blog.chinaunix.net/uid-20274021-id-1969394.html
八.Nmon
Nmon 工具是 IBM 提供的免費的在AIX與各類Linux操做系統上普遍使用的監控與分析工具。該工具可將服務器的系統資源耗用狀況收集起來並輸出一個特定的文件,並可利用 excel 分析工具nmonanalyser進行數據的統計分析。而且,nmon運行不會佔用過多的系統資源,一般狀況下CPU利用率不會超過2%
參考資料:http://bbs.chinaunix.net/thread-3670590-1-1.html
九.Svmon
svmon 命令提供了一個更加深刻的內存使用狀況的分析。比起 vmstat 和 ps 命令,它帶有更多信息量,而且更具備強制性。svmon 命令捕獲一個當前內存狀態的快照。然而,這並非一個真正的快照,由於它運行在用戶級別,即中斷容許狀態。