第 43章. OProfile

OProfile 是一種系統負載低且全系統性的效能表現監視工具,它在處理器上使用效能監視硬體來取得關於系統 上核心與執行檔的資訊,例如當記憶體被存取時、L2 快取要求的數量以及接收到硬體中斷值的數量。 在一部 Red Hat Enterprise Linux 系統中,必須安裝 oprofile RPM 套件才能使用這個工具。

許多處理器都含有既定的效能監視硬體,這種硬體可以偵測到當某些系統狀況的發生(例如所要求的資料不在 快取空間),該硬體通常會以一個或更多的 計數器,在每次發生系統事件時都會逐次 增加。 當計數器的數值"重新計數"時,將會產生一個中斷值,使其可以控制由效能監視所產生的詳細數據量 (以及系統負載量)。

OProfile 使用這種硬體(或者當效能監視硬體無法使用時使用一種計時器為基礎的替代品)來蒐集每次計數器 產生一個中斷值時效能相關資料的樣本。 將會定期地將這些樣本寫入到磁碟中, 稍候便可以使用這些樣本中所含的資料來產生系統階層與應用程式階層效能表現的報告。

重要重要
 

Red Hat Enterprise Linux 3 中的 OProfile 核心支援是基於來自 2.5 版開發核心的程式碼,當您參閱 OProfile 的說明 文件時,2.5 版特定的特色也適用於 Red Hat Enterprise Linux 3 中的 OProfile,即使核心版本是 2.4。 同樣的,2.4 版核心特定的 OProfile 特色並適用於 Red Hat Enterprise Linux 3。

OProfile 是一個很好用的工具,不過當您使用時請特別注意一些限制:

在 Red Hat Enterprise Linux 中,只有多處理器的(SMP)核心擁有 OProfile 的支援,如要找出正在執行那一個核心,請使用下列指令:

uname -r

假如所傳回的核心版本以 .entsmp 字串結尾,您便是執行多處理器的 核心。 如果不是的話,請從 Red Hat Network 或發行版本的光碟來進行安裝(即使系統不是一部含有多處理器的系統)。 多處理器的核心可以在單一處理器的系統上執行。

43.1. 工具的概要

表格 43-1 含有 oprofile 套件所提供之工具的一個簡短概要。

指令說明
opcontrol

設定要收集那種資料,請參考 第 43.2 節 以取得詳細資訊。

op_help

顯示系統處理器的可能事件以及簡要的說明。

op_merge

從相同的執行檔合併多個樣本,請參考 第 43.5.4 節 以取得詳細資訊。

op_time對所有分析工具的執行檔給予一個概要說明,請參考 第 43.5.1 節 以取得詳細資訊。
op_to_source假如應用程式是以除錯符號來編譯的,請為執行檔建立註解的原始碼。 請參考 第 43.5.3 節 以取得詳細資訊。
oprofiled

以系統程式的方式執行以定期寫入樣本資料到磁碟中。

oprofpp

擷取系統分析資料,請參考 第 43.5.2 節 以取得詳細資訊。

op_import

從外來的二進制格式轉換樣本資料庫檔案為系統原生的格式,只當您要為不同主機架構的一個樣本資料庫 做分析時,才使用這個選項。

表格 43-1. OProfile 指令