linux下性能分析命令[總結]

一、前言html

  在linux下開發程序,爲了追求高性能,常常須要測試程序的性能,包括cpu、內存、io、網絡等等使用狀況。liunx下提供了衆多命令方便查看各類資源的使用狀況。常常用的有ps、top、free、mpstat、iostat、vmstat、netstat。linux

二、ps、top、free命令ios

  ps用於查看系統中進程的狀況,緩存

top可以實時顯示系統中各個進程的資源佔用情況網絡

,free命令能夠顯示Linux系統中空閒的、已用的物理內存及swap內存,及被內核使用的buffer。性能

 

三、mpstat命令測試

  用於獲取 CPU 相關統計信息,命令執行結果以下圖所示:spa

 

%user         表示處理用戶進程所使用 CPU 的百分比。.net

%nice         表示使用 nice 命令對進程進行降級時 CPU 的百分比。nice 命令更改進程的優先級。
 htm

%system    表示內核進程使用的 CPU 百分比  

%iowait      表示等待進行 I/O 所使用的 CPU 時間百分比  

%irq          表示用於處理系統中斷的 CPU 百分比  

%soft        表示用於軟件中斷的 CPU 百分比  

%idle         顯示 CPU 的空閒時間  

四、iostat命令

  性能評估的一個主要部分就是磁盤性能,iostat 命令提供了存儲接口的性能指標。執行結果下圖所示:

 

tps 每秒的傳輸數量,例如,每秒的 I/O 操做數。注:這只是 I/O 操做的數量;每一個操做可能很是大,也可能很是小。

Blk_read/s 每秒從該設備讀取的塊數。一般,塊的大小爲 512 字節。這是一個磁盤利用率較好的值。

Blk_wrtn/s 每秒寫入該設備的塊數

Blk_read 到目前爲止從該設備讀取的塊數。注意,這並非正在發生的狀況。不少塊已經從該設備讀取。可能如今什麼也沒有讀取。觀察一段時間,看是否有變化。

Blk_wrtn     寫入該設備的塊數。

五、vmstat命令

  顯示全部與內存和進程相關信息的命令,執行結果以下所示:

procs 顯示進程數

r 等待運行的進程。系統上的負載越多,等待運行 CPU 週期的進程數量越多。

b 不可中斷睡眠的進程,也稱爲「被阻塞」的進程。這些進程最有可能等待 I/O,但也可能等待其餘事情。

wpd,free,buff,cache顯示了內存值班

wpd 虛擬內存或交換內存的數量(以 KB 爲單位)

free 可用物理內存的數量(以 KB 爲單位)

buff 用做緩衝區的內存數量(以 KB 爲單位)

cache 用做緩存的物理內存數量(以 KB 爲單位)

si so 顯示了交換活動:

si 將內存從磁盤交換回物理 RAM 的速率(以 KB/秒爲單位)

so 將內存從物理 RAM 交換到磁盤的速率(以 KB/秒爲單位)

bi,bo顯示了 I/O 活動:

bi 系統向塊設備發送數據的速率(以塊/秒爲單位)

bo 系統從塊設備中讀取數據的速率(以塊/秒爲單位)

in,cs 顯示了系統相關活動:

in 系統每秒接收到的中斷數

cs 在進程空間中切換上下文的速率(以數量/秒爲單位)


us,sy,id,wa 顯示了 CPU 負載的信息:

us     顯示花費在用戶進程中的 CPU 百分比。Oracle 進程屬於這一類。

sy     系統進程(如全部根進程)使用的 CPU 百分比

id     可用 CPU 百分比

wa     花費在「等待 I/O」上的百分比

六、netstat命令

  用於顯示各類網絡相關信息,如網絡鏈接,路由表,接口狀態 (Interface Statistics),masquerade 鏈接,多播成員 (Multicast Memberships) 等等。

七、參考網址:

http://blog.csdn.net/evils798/article/details/7524469

http://blog.csdn.net/zhangjay/article/details/6656771

http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html

相關文章
相關標籤/搜索