READPROFILE(1) | General Commands Manual | READPROFILE(1) |
readprofile - カーネルのプロファイリング情報を読みだすツール
readprofile [ options ]
このオンラインマニュアルは、バージョン 2.0 のものである。
readprofile コマンドは、 /proc/profile の情報を標準出力に出力する。 出力される情報は、3 種類の情報から構成されている。 最初の項目は、クロックチック (clock tick) である。 2 番目は、たくさんの時間を消費しているカーネル内部の C の関数名である。 3 番目の項目は、手続きの「負荷」を正規化したもので、 関数の長さとクロック数の比率として計算される。 これらの項目は、読み取りやすいように空白を入れ、桁を揃えて出力される。
次のコマンドラインオプションを指定できる:
プロファイリングバッファの内容を使用したクロック数の順に表示するには:
readprofile | sort -nr | less
最もたくさんクロックを使用した関数の上位 20 個を表示するには:
readprofile | sort -nr +2 | head -20
ファイルシステムのプロファイリング情報だけを表示するには:
readprofile | grep _ext2
すべてのカーネル情報を RAM アドレスと一緒に表示させるには:
readprofile -av | less
現在のカーネルのものではない「凍結された」 プロファイリングバッファの内容を表示するには:
readprofile -p ~/profile.freeze -m /zImage.map.gz
各 CPU に対して 2kHz の周期でプロファイリングを要求し、 プロファイリングバッファを初期化するには:
sudo readprofile -M 20
カーネルバージョン 1.2 から 1.3 で /proc/profile が変更されたため、 readprofile は 1.3.x 以降のカーネルでのみ動作する。
このプログラムは、ELF カーネルでのみ動作する。 a.out カーネルへの変更は大きな作業ではない。 a.out カーネルユーザーへの練習問題として残してある。
プロファイリングを有効にするためには、 カーネルの (再構築と) リブートが必要である。 これはプロファイリング用のモジュールは存在せず、 かつ、簡単には作れないためである。 プロファイリングを有効にするには、カーネルのコマンドライン上で、 "profile=2" (または、別の数字) を指定する必要がある。 この数字を指数として 2 を累乗したものが、 プロファイリングステップとして使用される。
プロファイリングは、割り込みが禁止されていると使用できない。 これは、割り込みを再び有効にするときに、 多くのプロファイリングのカウントが行われることを意味する。 誤った情報に注意すること。
/proc/profile プロファイリングバッファのバイナリスナップショット /usr/src/linux/System.map カーネルのシンボルテーブル /usr/src/linux/* プロファイルされるプログラム :-)
May 1996 | 4th Berkeley Distribution |