PERFMON(4) FreeBSD/i386 カーネルインタフェースマニュアル PERFMON(4)
名称
perfmon − CPU の性能モニタリングをするインタフェース |
書式
cpu "I586_CPU" |
cpu "I686_CPU" |
options PERFMON |
解説 |
perfmon ドライバにより Intel の Pentium と Pentium Pro の CPU 内部の性能 モニタリング機能にアクセスできます。これらのプロセッサには多彩なイベント について発生回数または (CPU サイクルでの) 持続時間のどちらかを測定するよ うに設定できる 2 個の内部カウンタと、同じくクロックサイクルを数える 1 個 のサイクルカウンタが実装されています。 perfmon ドライバではこれらの機能に 対してデバイス形式によるインタフェースを提供します。 性能モニタリングをするカウンタへの全てのアクセスはデバイス型特殊ファイル の ‘‘/dev/perfmon’’ を媒介として処理されます。このデバイスが提供する ioctl(2) リクエストは多くあり 〈machine/perfmon.h〉 の中で定義され、この ファイルの中には Pentium と Pentium Pro プロセッサの両方の色々なカウンタ の定義もあります。 注意事項: 利用可能なイベントの集合はプロセッサ毎に異なります。使用される イベントコードが測定される CPU の型式に対して適正であることを確認すること はプログラマの責任です。 以下の ioctl(2) リクエストが定義されています: |
PMIOSETUP
(struct pmc) 構造体に定義されているパラメータとフラグでカウン タを設定します。以下のフィールドが struct pmc に定義されてい ます: int pmc_num u_char pmc_event u_char pmc_unit u_char pmc_flags u_char pmc_mask 次のような pmc_flags の値が定義されています: PMIOGET PMIOSTART PMIOSTOP PMIORESET PMIOREAD int pmcd_num 将来、 Pentium Pro プロセッサからカウンタを直接読み出す為に RDPMC 命令を使用出来る様になるでしょう。 PMIOTSTAMP int pmct_rate pmct_rate フィールドに与えられるカウンタの速度は、校正が困難 な事やクロックの進行が不完全な為に、往々にして正確ではないこ とに注意する事が大切です。このフィールドについてはクロックが 刻む速度を実際に表示するものというよりも手がかりか又は適正さ の検査くらいに考えるべきです。 関連ファイル |
/dev/perfmon
カウンタへの文字型デバイスのインタフェー ス 関連項目 |
Intel Corporation, Pentium Pro Family Developer’s Manual, vol. 3, January 1996, Operating System Writer’s Manual. インテルジャパン株式会社, Pentium Pro ファミリー ディベロッパーズ マニュアル, 下巻, January 1996, オペレーティング システム ライターズマニュアル.
歴史
perfmon デバイスは FreeBSD 2.2 で初めて現れました。 |
作者
perfmon ドライバは Garrett A. Wollman, MIT Laboratory for Computer Science が書きました。 FreeBSD 2.2 March 26, 1996 FreeBSD 2.2 |