データ収集ツールには、collect コマンド、dbx collector コマンド、および er_kernel コマンドがあります。これらの各ツールは、プログラムをプロファイルしてデータを収集し、パフォーマンスアナライザまたは er_print によって読み取ることが可能な実験を作成するために使用されます。
次の変更は、これらのツールに共通するものです。
ハードウェアカウンタおよびスタックの巻き戻しについて、新しいプロセッサ (SPARC T5、SPARC M5、SPARC M6、SPARC 64 X、SPARC 64 X+、Intel Ivy Bridge、および Haswell) がサポートされます。
クロックプロファイリングは、ハードウェアカウンタのプロファイリングが指定されていない場合もデフォルトで有効です。
アーカイブをオンにする設定は、アーカイブのコピーと同じ設定です。つまり、collect および er_kernel の場合、–A on が –A copy と同じになったことを意味します。 dbx collector の場合、collector archive on が collector archive copy と同じであることを意味します。
プロファイリングできる Oracle Solaris のスレッドの最大数は 32768 になりました。
collect ユーティリティーは、アプリケーションの実行中にアプリケーションをプロファイルしてデータを収集し、パフォーマンスアナライザまたは er_print によって読み取り可能な実験を作成するために使用するツールです。
collect ユーティリティーは、このリリースで次のように変更されています。
I/O トレースは、新しい –i フラグを使用してサポートされます。
ターゲットが JVM の場合、Java プロファイリングがデフォルトで常に有効化されます。–j on を指定する必要はなくなりました。
実行中のプロセスからデータを収集するための –P オプションが、Linux システム上でサポートされるようになりました。これはシングルスレッドアプリケーションでのみ機能することに注意してください。
カウントデータを収集するための –c オプションが、Linux システム上でサポートされるようになりました。
ハードウェアカウンタ処理で、複数の –h 引数とデフォルトのカウンタ設定がサポートされるようになりました。環境変数 SP_COLLECTOR_HWC_DEFAULT を設定して、ハードウェアカウンタカウンタプロファイリングをデフォルトで有効にすることができます。
ハードウェアカウンタベースのメモリー領域プロファイリングが、SPARC および x86 システム上の精密なカウンタについてデフォルトで有効になりました。メモリーアドレスを取得するために、プラス記号 (+) は必要なくなりました。詳しくは、メモリー領域プロファイリングの改善を参照してください。
collect -F =expr は、式をプロセス系統に一致させなくなりました。
–P を使用して Java プログラムに接続するとき、–j on オプションを指定するようにしてください。
dbx collector は、パフォーマンスデータ収集に使用できる dbx デバッガのサブコマンドです。詳細は、collector(1) のマニュアルページを参照してください。
すべてのデータ収集ツールに共通する変更点に加え、dbx collector コマンドは、このリリースで次のように変更されています。
detach または実験終了後に別の実験を開始できます。
接続は、Linux システム上でシングルスレッドのネイティブアプリケーションについてサポートされています。接続の制限事項の詳細は、Oracle Solaris Studio 12.4: リリースノート のdbx attach を使用したプロファイリング (collect -P)を参照してください。
dbx collector は、次の新しいコマンドをサポートします。
collector iotrace on - I/O トレースをオンに指定します。
collector duration - 実験を実行する時間範囲を指定します。
collector java - Java プロファイルデータを収集するかどうかを指定します。デフォルトは off です。JVM に接続するか JVM を起動するかにかかわらず、Java をプロファイリングするときは常にこのコマンドを使用するようにします。
collector pausesig - データ収集の一時停止または再開に使用するシグナルを指定します。
collector samplesig - 標本の記録に使用するシグナルを指定します。
collector hwprofile addcounter - ハードウェアカウンタのオーバーフロープロファイリング用の追加カウンタを指定します。
er_kernel コマンドは Oracle Solaris カーネルをプロファイルし、パフォーマンスアナライザまたは er_print で調査できる実験を生成します。
すべてのデータ収集ツールに共通する変更点に加え、er_kernel ユーティリティーは次のように変更されています。
ユーザーのサブ実験のクロックプロファイリングメトリックは collect 実験と同じように記録されますが、ユーザー CPU 時間とシステム CPU 時間のみが記録され、待ち時間は記録されません。
カーネル初期実験で報告されるハードウェアカウンタメトリックの名前に K_ が付けられます。ユーザーのサブ実験のメトリックでは collect 実験のメトリックと同じ名前が使用されます。
カーネルデータ領域プロファイリングは、精密カウンタについて、DTrace バージョン 1.8 以降を持つ Solaris SPARC システムでサポートされます。
初期の実験のクロックプロファイリングは collect 実験と同じように記録されますが、ただしカーネル CPU 時間メトリックしかありません。ハードウェアカウンタプロファイリングはデフォルトで有効にされません。
カーネル呼び出しスタックの記録が改善されました。