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

印刷ビューの終了

更新: 2015 年 1 月
 
 

カーネルとロードを同時にプロファイリングするための代替方法

er_kernel -F=regexp の使用のほかに、load の代わりに collect load のターゲットを使用してer_kernel を実行すると、カーネルとロードを同時にプロファイルできます。collect および er_kernel のいずれかを指定するだけで、ハードウェアカウンタを含められます。er_kernel がハードウェアカウンタを使用している場合、collect コマンドは使用できません。

この方法の利点は、CPU 上でユーザープロセスが実行していないときにそのプロセスに関するデータを収集するという点にあり、これに対して、er_kernel で収集されるユーザー実験では、ユーザー CPU 時間とシステム CPU 時間しか含められません。さらに、collect を使用した場合は、OpenMP および Java プロファイリングのデータをユーザーモードで取得されます。er_kernel を使用した場合は、どちらもマシンモードでしか取得できず、Java 実験での HotSpot コンパイルに関する情報は得られません。

カーネルとロードを同時にプロファイルする方法

  1. er_kernel コマンドと collectコマンドの両方を次のように入力することにより、カーネルプロファイルとユーザープロファイルの両方を収集します。
    % er_kernel collect load
  2. 2 つのプロファイルを一緒に解析するには、次のように入力します。
    % analyzer ktest.1.er test.1.er

    パフォーマンスアナライザで表示されるデータは、ktest.1.er からのカーネルプロファイルと test.1.er からのユーザープロファイルの両方を示します。「タイムライン」ビューを使用すると、2 つの実験間の相関関係がわかります。


    注 -  スクリプトを負荷として使用し、スクリプトのさまざまな部分のプロファイリングを個別に行うには、スクリプト内の各種コマンドの前に collect コマンドと適切な引数を付加します。