ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris Studio 12.3: スレッドアナライザユーザーズガイド Oracle Solaris Studio 12.3 Information Library (日本語) |
データの競合およびデッドロックを検出するために、計測したアプリケーションを実行するためのヒント。
Oracle Solaris システムにすべての必須パッチがインストールされていることを確認します。collect コマンドは、見つからない必須パッチを一覧表示します。OpenMP アプリケーションの場合、libmtsk.so の最新バージョンが必要です。
-r race または -r deadlock 引数が認識されないというエラーメッセージが collect から表示された場合、スレッドアナライザをサポートしていない古いバージョンの collect を使用しています。使用している collect のバージョンは、collect -Version コマンドを入力することによって確認できます。スレッドアナライザをサポートする最も古いバージョンは、2006 年 6 月の日付のものです。
計測は、実行時間の大幅な減速 (50 倍以上) と、メモリー消費量の増大を引き起こす可能性があります。より小さなデータセットを使用することにより、実行時間を減らそうと試みることができます。また、スレッド数を増やすことによって、実行時間を減らそうと試みることもできます。
データ競合を検出するには、アプリケーションが複数のスレッドを使用していることを確認します。OpenMP の場合、スレッド数は、環境変数 OMP_NUM_THREADS を、目的のスレッド数に設定し、環境変数 OMP_DYNAMIC を FALSE に設定することによって指定できます。