疑わしい動作をしている Java プロセスがあります。いろいろなHPROF解析ツールを使ってどうなっているのか見てみたいです。
その場で生成するにはどうすればよいですか?
はい。SunのJavaVMに付属しているjmapツールを使用して、hprofファイル(ヒープメモリ使用量を含む)をオンザフライで生成できます。
jmap -dump:file = <file_name> <pid>
正しい引数を使用して Java プロセスを開始する必要があります。これは、JVM のバージョンによって少し異なります。次に、QUIT
シグナルをプロセスに送信して、新しいファイルを生成します。
通常、出力は VM の終了時に生成されますが、これは「終了時のダンプ」オプションを「n」(doe=n) に設定することで無効にすることができます。さらに、Ctrl-\ または Ctrl-Break (プラットフォームによって異なります) が押されると、プロファイルが生成されます。Solaris OS および Linux では、QUIT シグナルを受信したときにもプロファイルが生成されます (kill -QUIT pid)。Ctrl-\ または Ctrl-Break を複数回押すと、1 つのファイルに複数のプロファイルが生成されます。
VisualVMは、実行中のプロセスで任意にヒープ ダンプを強制する機能など、プロセスが何をしているかを調べるのに役立ちます。
jconsole に、アプリの現在の作業ディレクトリへのダンプを作成する機能が追加されました。