oProfile

oProfile

網絡性能監控工具
OProfile是Linux内核支持的一種性能分析機制。該源碼主要是在龍芯平台上運行的源碼。[1]
    中文名:OProfil 外文名: 别名: 定義:Linux内核支持的一種性能分析機制 分類:内核模塊,守護進程 采樣方式:基于事件的采樣和基于時間的采樣

簡介

它在時鐘中斷處理入口處建立監測點,記錄被中斷的上下文現場,由配套的用戶态的工具oprof_start負責在用戶态收集數據,opreport則分析數據并給出分析報告。

Oprofile是用于Linux的若幹種評測和性能監控工具中的一種,它可以工作在不同的體系結構上,包括IA32,IA64和AMD Athlon系列。Oprofile包含在Linux2.5和更高版本的内核中,也包含在大多數較新的Linux版本中,包括Red Hat9。

特點

基于事件的采樣是oprofile隻記錄特定事件(比如L2ca chemiss)的發生次數,當達到用戶設定的定值時oprofile就記錄一下(采一個樣)。這種方式需要CPU内部有性能計數器(perfor macecounter)。

基于時間的采樣是oprofile借助OS時鐘中斷的機制,每個時鐘中斷oprofile都會記錄一次(采一次樣)。引入的目的在于,提供對沒有性能計數器CPU的支持。其精度相對于基于事件的采樣要低。因為要借助OS時鐘中斷的支持,對禁用中斷的代碼oprofile不能對其進行分析。

oprofile在Linux上分兩部分,一個是内核模塊(oprofile.ko),一個為用戶空間的守護進程(oprofiled)。前者負責訪問性能計數器或者注冊基于時間采樣的函數(使用register_timer_hook注冊之,使時鐘中斷處理程序最後執行profile_tick時可以訪問之),并采樣置于内核的緩沖區内。後者在後台運行,負責從内核空間收集數據,寫入文件。

上一篇:晶體管計算機

下一篇:SF6斷路器

相關詞條

相關搜索

其它詞條