歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下性能分析命令總結]

Linux下性能分析命令總結]

日期:2017/2/28 13:46:16   编辑:Linux教程

1、前言

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

2、ps、top、free命令

  ps用於查看系統中進程的情況,top能夠實時顯示系統中各個進程的資源占用狀況,free命令可以顯示Linux系統中空閒的、已用的物理內存及swap內存,及被內核使用的buffer。

3、mpstat命令

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

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

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

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

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

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

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

%idle 顯示 CPU 的空閒時間

4、iostat命令

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

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

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

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

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

Blk_wrtn 寫入該設備的塊數。

5、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”上的百分比

6、netstat命令

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

Copyright © Linux教程網 All Rights Reserved