IBM スタック (AIX/Linux 上の J9 JVM) で hprof を使用して WebSphere のプロファイルを作成しようとしています。具体的には、hprof から出力される CPU サンプルに興味があります。特に、起動時間 (WS が開始されてから「ビジネスの準備が整う」まで) に関心があります。
問題は、hprof 結果ファイルで CPU サンプル出力を取得できないことです。
hprof を構成するために次の JVM 引数を使用しています: -Xrunhprof:cpu=samples,file=path-to-hprof.txt
、hprof 出力を ASCII 形式でダンプするため。生成された hprof 出力によると、CPU SAMPLES
出力はプログラムの終了時にのみ生成されます。
プログラムの終了時に、HEAP DUMP、SITES、CPU SAMPLES|TIME、および MONITOR DUMP|TIME レコードが生成されます。
そのため、正常に起動した後に WebSphere を正常にシャットダウンするために、スクリプトを使用しています。シャットダウンが完了した後、結果ファイルにstopServer.sh
CPU SAMPLES 出力が存在することを期待していますが、そうではありません。java.hprof.txt
私は何を間違っていますか?WebSphere で hprof を使用し、CPU プロファイリング出力を生成するためのより良い方法はありますか? どんな助けでも大歓迎です!
編集: RHEL 7.5 で IBM J9 VM (ビルド 2.6、JRE 1.6.0 20150619_253846) で WebSphere バージョン 8.0.0.11 を実行しています。
PS: 管理コンソールの GUI から WS を閉じる方法も探しましたが、見つかりませんでした。
PPS: その間、私はオプションで非常に優れたjvmtopツールを使用してい--profile <pid>
ますが、それは部分的な洞察しか提供せず、hprof とは対照的に、その場でアタッチする必要があるため、実行の一部が失われます。