Installation

System requirements

linux-2.4 or 2.5

パッチ一覧

パッチ一覧にご使用のカーネルのバージョンに対応するパッチがない場合は、次のス クリプトを実行することで kmemprof を使用できるようにカーネルを修正できるかも しれません。

# tar zxfv kmemprof.tar.gz
# cd kmemprof/patch
# ruby patchkit-2.4.rb /usr/src/linux	# linux-2.4.x
# ruby patchkit-2.5.rb /usr/src/linux	# linux-2.5.x

Ruby

モニタ結果あるいはプロファイリング結果を表示するためのユーザーコマンドは、 Ruby で書かれているためです。

i386 ユニプロセッサでしかテストしていません。 i386 以外のアーキテクチャでのコールグラフプロファイリングは、直接スラブアロ ケータを呼び出した関数しか記録しません。(それさえテストしていないので何とも 言えませんが..)

Apply the kernel patch

ダウンロードしたアーカイブの中の patch ディレクトリにあるパッチを適用します。 i386 アーキテクチャでコールグラフプロファイリングを行う場合は、Compile kernel with frame pointer(CONFIG_FRAME_POINTER) を有効にします。 そして、いつものようにコンパイルしてください。

Compile the kernel modules

# tar zxfv kmemprof.tar.gz
# cd kmemprof
# make
# make install
# ls modules
kmemprof-cgprof.ko	kmemprof-filter.ko
kmemprof-freqctrl.ko	kmemprof-objfilter.ko
kmemprof-plug.ko	kmemprof-trace.ko

Note: 出来上がったカーネルモジュールの拡張子は 2.4 系なら `.o' です。


SourceForge.jp