系統級別:ios
下面這些工具利用內核的計數器在系統軟硬件的環境中檢查系統級別的活動。網絡
vmstat: 虛擬內存和物理內存的統計,系統級別。框架
mpstat: 每一個CPU 的 使用狀況。tcp
iostat: 每一個磁盤I/O 使用狀況,由塊設備接口報告。工具
netstat: 網絡按口的統計,TCP/IP棧的統計,以及每一個連按的一些統計信息。oop
sar: 各類各樣的統計,能歸檔歷史數據。性能
進程級別 :操作系統
下面這些工具是以進程爲導向的,使用的是內核爲每一個進程維護的計數器。3d
PS: 進程狀態,顯示進程的各類統計信息,包括內存和CPU 的使用。調試
top: 按一個統計數據(如CPU 使用)排序,顯示排名高的進程。基於Solaris 的系
統對應的工具是prstat 。
pmap:將進程的內存段和使用統計一塊兒列出。
通常來講,上述這些工 具是從/proc 文件系統裏讀取統計信息的。
系統級別 :
利用內核的跟蹤設施,下面這些跟蹤工具在系統軟硬件的環境中檢查系統級別的活動。
tcpdump: 網絡包跟蹤( 用libpcap 庫)。
snoop: 爲基於Solaris 的系統打造的網絡包跟蹤工其。
blktrace: 塊I/O跟蹤(Linux )。
iosnoop: 塊I/O 跟蹤( 基於DTrace )
execsnoop: 跟蹤新進程( 基於DTrace )。
dtruss:系統級別的系統調用緩衝跟蹤(基於DTrace)。
DTrace: 跟蹤內核的內部活動和全部資源的使用狀況(不單單是網絡和塊/O),支持靜態和動態的跟蹤。
SystemTap: 跟蹤內核的內部活動和全部資源的使用狀況,支持靜態和動態的跟蹤。
perf: Linux 性能事件,跟蹤靜態和動態的探針。
進程級別 :
下面這些跟蹤工具是以進程爲導向的,基於的是操做系統提供的框架。
strace: 基於Linux 系統的系統調用跟蹤。
truss: 基於Solaris 系統的系統調用跟蹤。
gdb: 源代碼級別的調試器,普遍應用於Linux 系統。
mdb: Solaris 系統的- 一個具備可擴展性的調試器。
調試器可以檢查每個事件的數據,不過作這件事情時須要中止目標程序的執行,而後再
啓動。
諸如DTrace、SystemTap和perf這樣的工具,雖然更適合概括到系統級別一類中,可是它
們都支持對單個進程作檢查。
圖片來源: