linux 核心中斷trace機制使用
阿新 • • 發佈:2019-01-24
如果要開啟Linux核心的中斷trace機制,需要在config裡面,開啟如下選項:
CONFIG_IRQSOFF_TRACER=y
並且需要重新編譯核心。
然後,依次輸入以下命令:
echo 0 > /sys/kernel/debug/tracing/tracing_on
echo > /sys/kernel/debug/tracing/trace
echo 30720 > /sys/kernel/debug/tracing/buffer_size_kb
echo irqsoff > /sys/kernel/debug/tracing/current_tracer
echo > /sys/kernel/debug/tracing/trace
echo 1 > /sys/kernel/debug/tracing/tracing_on
等待一段時間
echo 0 > /sys/kernel/debug/tracing/tracing_on
最後,需要獲取中斷trace的log檔案:
cat /sys/kernel/debug/tracing/trace
這會獲取到如下的一個日誌:
每一個欄位的解釋,在檔案的開頭,基本上都有說明。
透過這個檔案,我們可以得知一些資訊:
1)哪一號中斷,在哪一個時間戳上,在哪個CPU核上面執行,在哪個世家戳上退出。
2.)irq_handler_entry描述的是中斷進入的時間點,irq_handler_exit
3.)由於中斷trace機制,是在某些時間點上,將中斷的一些資訊存在buffer當中,然後再做分析,因此,能記錄的中斷資訊有限。會錯過對一些中斷資訊的統計。