Linux 性能工具集

系統級別:

下面這些工具利用內核的計數器在系統軟硬體的環境中檢查系統級別的活動。

vmstat: 虛擬內存和物理內存的統計,系統級別。

mpstat: 每個CPU 的 使用情況。

iostat: 每個磁碟I/O 使用情況,由塊設備介面報告。

netstat: 網路按口的統計,TCP/IP棧的統計,以及每個連按的一些統計信息。

sar: 各種各樣的統計,能歸檔歷史數據。

進程級別 :

下面這些工具是以進程為導向的,使用的是內核為每個進程維護的計數器。

PS: 進程狀態,顯示進程的各種統計信息,包括內存和CPU 的使用。

top: 按一個統計數據(如CPU 使用)排序,顯示排名高的進程。基於Solaris 的系

Advertisements

統對應的工具是prstat 。

pmap:將進程的內存段和使用統計一起列出。

一般來說,上述這些工 具是從/proc 文件系統里讀取統計信息的。

系統級別 :

利用內核的跟蹤設施,下面這些跟蹤工具在系統軟硬體的環境中檢查系統級別的活動。

tcpdump: 網路包跟蹤( 用libpcap 庫)。

snoop: 為基於Solaris 的系統打造的網路包跟蹤工其。

blktrace: 塊I/O跟蹤(Linux )。

iosnoop: 塊I/O 跟蹤( 基於DTrace )

execsnoop: 跟蹤新進程( 基於DTrace )。

dtruss:系統級別的系統調用緩衝跟蹤(基於DTrace)。

DTrace: 跟蹤內核的內部活動和所有資源的使用情況(不僅僅是網路和塊/O),支持靜態和動態的跟蹤。

Advertisements

SystemTap: 跟蹤內核的內部活動和所有資源的使用情況,支持靜態和動態的跟蹤。

perf: Linux 性能事件,跟蹤靜態和動態的探針。

進程級別 :

下面這些跟蹤工具是以進程為導向的,基於的是操作系統提供的框架。

strace: 基於Linux 系統的系統調用跟蹤。

truss: 基於Solaris 系統的系統調用跟蹤。

gdb: 源代碼級別的調試器,廣泛應用於Linux 系統。

mdb: Solaris 系統的- 一個具有可擴展性的調試器。

調試器能夠檢查每一個事件的數據,不過做這件事情時需要停止目標程序的執行,然後再

啟動。

諸如DTrace、SystemTap和perf這樣的工具,雖然更適合歸納到系統級別一類中,但是它

們都支持對單個進程做檢查。


Linux bcc/BPF Tracing Tools


perf-tools


sar 命令


Linux Performance Tuning Tools


Linux Performance Benchmark Tools


Linux Static Performance Tools


Linux Performance Observability Tools

Linux Performance Tools


圖片來源:

http://www.brendangregg.com/linuxperf.html

Advertisements

你可能會喜歡