Oracle® Solaris Studio 12.4: パフォーマンスアナライザ

印刷ビューの終了

更新: 2015 年 1 月
 
 

ハードウェアカウンタプロファイリングに関する制限事項

    ハードウェアカウンタプロファイリングには、次のような制限があります。

  • ハードウェアカウンタデータの収集は、ハードウェアカウンタが用意されていてハードウェアカウンタプロファイリングをサポートしているプロセッサでのみ行えます。その他のシステムでは、ハードウェアカウンタプロファイリングは無効です。Oracle Solaris と、Unbreakable Enterprise Kernel または Red Hat 互換のカーネル 6.0 以降を備えた Oracle Linux は、ハードウェアカウンタをサポートします。

  • Oracle Solaris を実行しているシステム上で、cpustat(1) コマンドの実行中にハードウェアカウンタデータを収集することはできません。これは、cpustat がカウンタを制御しており、ユーザープロセスでカウンタを使用できないためです。データ収集中に cpustat を起動すると、ハードウェアカウンタプロファイリングは終了され、実験にエラーが記録されます。root がハードウェアカウンタを使用して er_kernel 実験を開始する場合にも、同じことが当てはまります。

  • ハードウェアカウンタプロファイリングを行う場合、独自のコードでハードウェアカウンタを使用することはできません。コレクタは libcpc ライブラリ関数に割り込み、コレクタからの呼び出しではなかった場合、-1 の戻り値で復帰します。ハードウェアカウンタへのアクセスの取得に失敗した場合に正常に機能するようにプログラムをコーディングする必要があります。この処理を行うようにコーディングされていない場合、ハードウェアカウンタプロファイル時に、スーパーユーザーがカウンタを使用するシステム全体のツールを起動した場合、またはそのシステムでカウンタがサポートされていない場合にプログラムが失敗します。

  • dbx をプロセスに接続することによって、ハードウェアカウンタライブラリを使用している実行中プログラムのハードウェアカウンタデータを収集しようとすると、実験が壊れることがあります。


    注 -  使用可能なすべてのカウンタの一覧を表示するには、ほかの引数を指定せずに collect -h コマンドを実行します。