1. 程式人生 > >Linux 效能分析大概步驟

Linux 效能分析大概步驟

 

核心指令:

Top

Sar

Vmstat

Iostat

Sar  -n  DEV

/proc檔案系統

分析經驗性步驟:

首先檢視 CPU 使用情況,按照診斷 CPU、記憶體或磁碟瓶頸的指導進行操作。對於下面的每個步驟,查詢一端時間內的趨勢,從中收集系統執行效能較差時的資料。另外,只有將這些資料與系統正常執行時收集的資料進行比較時才能進行準確的診斷。

步驟 1

# sar -u [interval] [iterations]
(示例: sar -u 5 30)
%idle 是否很低? 這是 CPU 未在執行任何程序的時間百分比。 在一端時間內 %idle 為零可能是 CPU 瓶頸的第一個指示。

不是 -> 系統未發生 CPU 瓶頸。轉至步驟 3。
是 -> 系統可能發生了 CPU、記憶體或 I/O 瓶頸。轉至步驟 2。

步驟 2

%usr 是否較高? 很多系統正常情況下花費 80% 的 CPU 時間用於使用者,20% 用於系統。其他系統通常會使用 80% 左右的使用者時間。

不是 -> 系統可能遇到 CPU、記憶體或 I/O 瓶頸。轉至步驟 3。
是 -> 系統可能由於使用者程序遇到 CPU 瓶頸。轉至部分 3,部分 A, 調整系統的 CPU 瓶頸。

步驟 3

%wio 的值是否大於 15? (不同os有不同的閥值)

是 -> 以後記住這個值。它可能表示磁碟或磁帶瓶頸。轉至步驟 4。
不是 -> 轉至步驟 4。

步驟 4

# sar -d [interval] [iterations]
用於任何磁碟的 %busy 是否都大於 50? (請記住,50% 指示一個大概的 指南,它可能遠遠高於您系統的正常值。在某些系統上,甚至%busy 值為 20 可能就表示發生了磁碟瓶頸,而其他系統正常情況下可能就為 50% busy。)對於同一個磁碟上,avwait 是否大於 avserv?

不是 -> 很可能不是磁碟瓶頸,轉至步驟 6。
是 -> 此裝置上好像發生了 IO 瓶頸。
轉至步驟 5。

步驟 5

系統上存在磁碟瓶頸,發生瓶頸的磁碟上有哪些內容?

原始分割槽,
檔案系統 -> 轉至部分 3,部分 B,調整發生磁碟 IO 瓶頸的系統。
Swap -> 可能是由於記憶體瓶頸導致的。
轉至步驟 6。

步驟 6

# vmstat [interval] [iterations]
在很長的一端時間內,po 是否總是大於 0?
對於一個 s800 系統 (free * 4k) 是否小於 2 MB,
(對於 s700 系統 free * 4k 是否小於 1 MB)?
(值 2 MB 和 1 MB 指示大概的指南,真正的 LOTSFREE 值,即系統開始發生 paging 的值是在系統引導時計算的,它是基於系統記憶體的大小的。)

不是 -> 如果步驟 1 中的 %idle 較低,系統則很可能發生了 CPU 瓶頸。
轉至部分 3,部分 A,調整發生了 CPU 瓶頸的系統。
如果 %idle 不是很低,則可能不是 CPU、磁碟 IO或者記憶體瓶頸。
請轉至部分 4,其他瓶頸。
是 -> 系統上存在記憶體瓶頸,轉至部分 3 部分 C,調整發生記憶體瓶頸的系統。