JF Linux Kernel 2.6 Documentation: /usr/src/linux/Documentation/basic_profiling.txt

basic_profiling.txt

ベーシック・プロファイリング [プレインテキスト版]


ここでの説明は、意図的に、とても基本的なものだけにとどめています。
もっと巧妙なことをしたい場合は、本当のドキュメントを読んでください ;-)
ここにはこれ以上は追加しないでください。でも、私の間違いは気軽に
修正してください ;-)    (mbligh@aracnet.com)
これを書くのを手伝ってくれたことを、John Levon, Dave Hansen, および
その他の方々に感謝します。 

<test> は、あなたが計測しようとしているものです。参照される System.map
/ vmlinux が正しいものであることを確認してください! 私見ですが、linux
では "make install" を使い、設定ファイル、System.map, vmlinux を /boot
にコピーするために /sbin/installkernel に手を入れるほうが、より簡単で
しょう。


Readprofile
-----------
2.5 用の修正された readprofile コマンドが必要です。現在のバージョンを
次のところから入手するか、

    http://www.kernel.org/pub/linux/utils/util-linux/

もしくは 2.5 用に修正された readprofile バイナリ / akpm の 2.5 パッチを
次のところから入手してください。

    ftp://ftp.kernel.org/pub/linux/kernel/people/mbligh/tools/readprofile/

カーネルコマンドラインに "profile=2" を追加してください。

クリア          readpfile -r
                <test>
出力のダンプ    readprofile -m /boot/System.map > captured_profile


Oprofile
--------
* ソースコード (私は 0.5 を使っています) を http://oprofile.sourceforge.net/
  から入手してください。
* カーネルコマンドラインに "idle=poll" を追加してください。
* CONFIG_PROFILING=y と CONFIG_OPROFILE=y で設定をおこない、新しい
  カーネルでリブートしてください。
* ./configure --with-kernel-support
* make install

一回だけのセットアップ (あなたの CPU に合うものを選んでください)
  P3              opcontrol --setup --vmlinux=/boot/vmlinux \
                  --ctr0-event=CPU_CLK_UNHALTED --ctr0-count=100000
  Athlon/x86-64   opcontrol --setup --vmlinux=/boot/vmlinux \
                  --ctr0-event=RETIRED_INSNS --ctr0-count=100000
  P4              opcontrol --setup --vmlinux=/boot/vmlinux \
                  --ctr0-event=GLOBAL_POWER_EVENTS \
                  --ctr0-unit-mask=1 --ctr0-count=100000

デーモン起動      opcontrol --start-daemon
クリア            opcontrol --reset
開始              opcontrol --start
                  <test>
終了              opcontrol --stop
出力のダンプ      oprofpp -dl -i /boot/vmlinux  >  output_file

Linux カーネル 2.6 付属文書一覧へ戻る