2017-01-19 13 views

答えて

2

jmap -histojmap -heapの動作が異なります。jmap -histoはDynamic Attach Mechanismを使用し、jmap -heapはHotSpot Serviceability Agentを介して動作します。違いはhereと記載されています。

したがって、jmap -histoはJVM自体によって実行されますが、jmap -heapは、JVMプロセスが中断されている間にツールプロセスで実行されます。どちらの場合も、新しいJavaオブジェクトは作成されません。このツールではOutOfMemoryErrorは発生しません。

アプリケーションスレッドはすべて停止します。jmap -histoはJavaスレッドを停止し、jmap -heapはJVMプロセス全体を停止します。特に大きなヒープの場合、一時停止の期間がかなり長くなる可能性があります。例えば。 4GBのヒープを歩くには数秒かかる場合があります。

関連する問題