📄
Ubuntu 22.04でtrace-cmd/KernelSharkをセットアップして可視化する
Ubuntu 22.04でカーネルトレースを取得し、GUIで可視化する手順です。sudo権限とデスクトップ環境(KernelShark表示用)を前提とします。
インストール
sudo apt update
sudo apt install -y trace-cmd kernelshark
基本的なトレース取得
スケジューライベントを3秒分だけ記録します。
sudo trace-cmd record -e sched_switch -o trace.dat sleep 3
# GUIをrootで起動しないため、生成物の所有者を自分に変更
sudo chown "$USER":"$USER" trace.dat
テキストでざっと中身を確認したい場合:
trace-cmd report trace.dat | head -n 40
KernelSharkで可視化
kernelshark trace.dat
イベントタイムラインやCPU/タスクごとの切り替わりをGUIで確認できます。
利用可能なイベントの確認
sudo trace-cmd list -e
実行例
- 任意のコマンドの実行中を記録:
sudo trace-cmd record -e sched_switch -o trace.dat <your_command> - 追加イベント(IRQやスケジューラ関連)を複数指定:
sudo trace-cmd record -e sched_switch -e irq_handler_entry -e irq_handler_exit -o trace.dat sleep 3
以上
Discussion