最近在調試程式的時候經常需要檢視伺服器的性能問題。那麼到底是需要檢視伺服器的哪些性能呢,如何檢視性能呢?下面主要就說一下一些檢視伺服器性能的指令。
注:由于參數過多,我隻列出了幾個常觀察的參數,更多的參數說明有附帶連結作為參考
<a href="http://images.cnblogs.com/cnblogs_com/yjf512/201206/201206010634443703.png"></a>
這個指令比較簡單,-m 代表下面的是以M為機關
Mem是表示實體記憶體,主要看 Mem free代表還有多少記憶體可以
說一下第二行的 -/+ buffers/cache:
used = 第一行的used - buffers - cached (表示實際使用的記憶體總數)
free = 第一行的free + buffers + cached (表示實際剩餘的記憶體總數)
是以一般檢視記憶體還剩餘多少檢視第二行的free參數
iostat是檢視系統IO情況的指令
<a href="http://images.cnblogs.com/cnblogs_com/yjf512/201206/201206010634454410.png"></a>
% user顯示了在使用者級(應用程式)執行時産生的 CPU 使用率百分比。
% system顯示了在系統級(核心)執行時産生的 CPU 使用率百分比。
% idle顯示了在 CPU 空閑并且系統沒有未完成的磁盤 I/O 請求時的時間百分比。
% iowait顯示了 CPU 空閑期間系統有未完成的磁盤 I/O 請求時的時間百分比。
%nicenice操作(改變程序優先序列操作)操作使用的CPU百分比
%steal管理程式維護另一個虛拟處理器時候,虛拟CPU的無意識等待時間百分比
1 iowait,如果iowait較高,表示硬碟操作存在IO瓶頸
2 idle, 如果高,說明CPU較空閑,如果持續低于10的話,說明CPU處理能力低,此時存在CPU瓶頸
更多說明請看:
<a href="http://wenku.baidu.com/view/404bcac48bd63186bcebbc95.html">http://wenku.baidu.com/view/404bcac48bd63186bcebbc95.html</a>
<a href="http://wenku.baidu.com/view/900a99370b4c2e3f57276313.html">http://wenku.baidu.com/view/900a99370b4c2e3f57276313.html</a>
sar是檢視作業系統的資源使用情況,CPU,記憶體,IO等都會在這個指令中得到展現
sar -A 1 10代表列出所有統計項目,每1s統計一次,共統計10次
Sar -A中有許多項參數,一個一個說吧
<a href="http://images.cnblogs.com/cnblogs_com/yjf512/201206/201206010634509422.png"></a>
(8 CPU)很明顯,這台機子是8核的
%irq CPU用于硬體互動所占用的時間百分比
%soft CPU用于應用程式互動所占用的時間百分比
%guest CPU用于虛拟處理器所占用的時間百分比
<a href="http://images.cnblogs.com/cnblogs_com/yjf512/201206/201206010634558337.png"></a>
await IO請求平均需要耗費的時間
svstm IO通路裝置的平均時間
%util CPU的IO通路所占用和等候的時間,如果這個時間很大的話,就說明CPU的時間都放在IO操作和等候上了。此時IO瓶頸。
sar還有更多選項可以參考:
<a href="http://linux.die.net/man/1/sar">http://linux.die.net/man/1/sar</a>
<a href="http://images.cnblogs.com/cnblogs_com/yjf512/201206/201206010634595150.png"></a>
這裡就說幾個常看的
Local Address是本地端口
Foreign Address是連接配接到外部的IP和端口
state是這個socket的狀态
Recv-Q和Send-Q表示端口的吞吐量
比如現在想看這台機子的nginx有多少個連接配接
netstat -anp | grep "nginx" | wc –l
本文轉自軒脈刃部落格園部落格,原文連結:http://www.cnblogs.com/yjf512/archive/2012/06/01/2529433.html,如需轉載請自行聯系原作者