1

いくつかの計算を行う JAR のメモリ使用量を確認したいと考えています。このために、JVM モニターを使用したいと考えています。JVM モニターを開始するときに、jar を実行している JVM を選択する必要があります。しかし、問題は、私の JAR が非常に高速 (1 秒未満) に実行されるため、リストに表示されないことです..

JAR をすぐに実行せずに JVM を起動する方法はありますか?

ここに画像の説明を入力

4

1 に答える 1

0

JConsole は、JConsole の開始時に実行中のアプリケーションを検出します。次に、現在実行中のアプリケーションのポートとホストのみがリストに表示されます。しかし、このように実行時間が非常に短いアプリケーションをリストに表示するには、プログラム実行の最後に待機を追加するしかありません。

また、Jconsole が表示するメモリ統計には、Jconsole のメモリ フットプリントも含まれます。したがって、監視には jvisualvm を選択することをお勧めします。jvisualvm は、メモリ、スレッド、および gc 統計も表示できます。

または、コード キャッシュまたはコンパイル統計を確認する場合は、-XX:+LogCompilation -XX:+UnlockDiagnosticVMOptions -XX:+PrintCodeCache を使用できます。

于 2020-05-21T01:46:13.523 に答える