Linux系統性能工具

linux中幾款常用的系統性能分析工具:

1.vmstat命令

解釋:

虛擬內存信息

用法:

vmstat [options] [delay [count]]

vmstat 2 5

//每2秒刷新一次,一共刷新5次

輸出屬性:

procs:

r:可運行(正運行或等待運行)進程的個數,和核心數有關

b:處于不可中斷睡眠態的進程個數(被阻塞的隊列的長度)

memory:

swpd: 交換內存的使用總量

free:空閑物理內存總量

buffer:用于buffer的內存總量

cache:用于cache的內存總量

swap:

si:從磁盤交換進內存的數據速率(kb/s)

//從磁盤到內存 //進內存

so:從內存交換至磁盤的數據速率(kb/s)

//內存寫到磁盤 //出內存

io:

bi:從塊設備讀入數據到系統的速率(kb/s)

bo: 保存數據至塊設備的速率

system:

in: interrupts 中斷速率,包括時鐘

cs: context switch 進程切換速率

cpu:

us:Time spent running non-kernel code

sy: Time spent running kernel code

id: Time spent idle. Linux 2.5.41前,包括IO-wait time.

wa: Time spent waiting for IO. 2.5.41前,包括in idle.

st: Time stolen from a virtual machine. 2.6.11前, unknown.

 

選項:

 

-s:統計內存數據

#:#秒鐘顯示一次

2.iostat命令

解釋:

iostat是I/O?statistics(輸入/輸出統計)的縮寫,主要的功能是對系統的磁盤I/O操作進行監視。它的輸出主要顯示磁盤讀寫操作的統計信息,同時也會給出CPU使用情況。同vmstat一樣,iostat也不能對某個進程進行深入分析,僅對系統的整體情況進行分析。

用法:

示例:iostat 1 10

選項:

-x:顯示詳細格式的信息

#:每#秒執行一次

# *:每#秒執行一次,執行*次退出

3. dstat命令:

解釋:

系統資源統計,代替vmstat,iostat

 

格式:

dstat [-afv] [options..] [delay [count]]

選項:

-c: 顯示cpu相關信息

-C #,#,…,total

-d: 顯示disk相關信息

-D total,sda,sdb,…

-g:顯示page相關統計數據

-m: 顯示memory相關統計數據

-n: 顯示network相關統計數據

-p: 顯示process相關統計數據

-r: 顯示io請求相關的統計數據

-s: 顯示swapped相關的統計數據

–tcp

–udp

–unix

–raw

–socket

–ipc

–top-cpu:顯示最占用CPU的進程

–top-io: 顯示最占用io的進程

–top-mem: 顯示最占用內存的進程

–top-latency: 顯示延遲最大的進程

 

 

影響性能因素:

好–>壞–>糟糕

CPU:

user%?+?sys%<?70%?user%?+?sys%=?85%?user%?+?sys%?>=90%

內存

Swap?In(si)=0

Swap?Out(so)=0?Per?CPU?with?10?page/s?More?Swap?In?&?Swap?Out

磁盤:

iowait?%?<?20%?iowait?%?=35%?iowait?%?>=?50%

解釋:

user%:表示CPU處在用戶模式下的時間百分比。

%sys:表示CPU處在系統模式下的時間百分比。

%iowait:表示CPU等待輸入輸出完成時間的百分比。

swap?in:即si,表示虛擬內存的頁導入,即從SWAP?DISK交換到RAM。

swap?out:即so,表示虛擬內存的頁導出,即從RAM交換到SWAP?DISK。

 

總結:

1、linux下性能分析工具還有很多,例如:uptime可以檢查CPU的平均負載,free可以查看系統內存的使用狀況,ps、top可以配合監控系統的進程運行狀態,netstat可以監測網絡流量狀況等等。

2、系統性能優化是個涉及面廣、繁瑣、長久的工作,尋找出現性能問題的根源往往是最難的部分,一旦找到出現問題的原因,性能問題也就迎刃而解。因此,解決問題的思路得非常重要。例如,linux系統下的一個網站系統,用戶反映,網站訪問速度很慢,有時無法訪問。針對這個問題,第一步要做的是檢測網絡,可以通過ping命令檢查網站的域名解析是否正常,同時,ping服務器地址的延時是否過大等等,通過這種方式,首先排除網絡可能出現的問題;如果網絡沒有問題,接著進入第二步,對linux系統的內存使用狀況進行檢查,因為網站響應速度慢,一般跟內存關聯比較大,通過free、vmstat等命令判斷內存資源是否緊缺,如果內存資源不存在問題,進入第三步,檢查系統CPU的負載狀況,可以通過sar、vmstat、top等命令的輸出綜合判斷CPU是否存在過載問題,如果CPU沒有問題,繼續進入第四步,檢查系統的磁盤I/O是否存在瓶頸,可以通過iostat、vmstat等命令檢查磁盤的讀寫性能,如果磁盤讀寫也沒有問題,linux系統自身的性能問題基本排除,最后要做的是檢查程序本身是否存在問題。通過這樣的思路,層層檢測,步步排查,性能問題就“無處藏身”,查找出現性能問題的環節也就變得非常簡單。

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90357

(0)
Pkin°Pkin°
上一篇 2017-12-18 21:49
下一篇 2017-12-19 10:47

相關推薦

  • 【N25第十三周作業】samba配置詳解和安裝

    samba:   功能:     文件系統共享:類unix系統和windows系統之前文件系統共享     打印機共享;     NetBIOS協議;   服務端程序包:samba  &nb…

    Linux干貨 2016-12-18
  • N26第四周博客作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限cp -r /etc/skel /home/tuser1chmod -R go= /home/tuser1 2、編輯/etc/group文件,添加組hadoop。echo “hadoop:x:2020:”…

    Linux干貨 2017-02-27
  • php5.4zend-opcache安裝

    公司在做高并發壓測,fastcgi,apc,ocache,opcache, 幾經考慮,最終考慮用opcache,因為作為 zend-opcache合并為php5.5的分支版本,xcache的前途堪慮, 在環境的安裝上竟然折騰了半個下午沒有搞定,這個作下問題記錄。 先說安裝, http://php.net/manual/zh/opcache.installat…

    2015-04-20
  • IO模型——進程工作的方式

    I/O模型 模型:阻塞型、非阻塞型、復用型、信號驅動型、異步 同步/異步: 關注消息通知機制      消息通知:          同步:等待對方返回消息       &nbsp…

    Linux干貨 2016-10-25
  • grup修復與安裝操作介紹

    一、bgru Stage1的安裝     1、stage1存儲在MBR的前446字節,首先破壞。使用dd命令     2、使用grub-install命令安裝修復grub stage1     3、使用grub命令修復 二、進入救援模式,修改grub     1、先破壞grub …

    Linux干貨 2016-06-03
  • 20160907 centos啟動流程

    1、centos5,6啟動流程 centos系統啟動流程linux系統的組成部分:內核+根文件系統內核:進程管理,內存管理,網絡協議棧,文件系統,驅動程序,安全功能運行的系統環境可分為兩層:內核空間,用戶空間  用戶空間:應用程序(進程或線程)  內核空間:內核代碼(系統調用)    內核設計流派:   &n…

    Linux干貨 2016-09-13
欧美性久久久久