2016-08-05 10 views
7

私はヒープスに新しいです、誰かがどのように私はどのJavaプロセス(Jmeterのような)のヒープダンプを取ることができます示唆することができます。私はjmapコマンドについて読んでいますが、私はどこでどのように実行するかを書いていません(eclipseまたはcmdで)。非常に基本的な質問かもしれませんが、依然として提案は要求されています。jmap.exeとjhat.exeはどこからでもダウンロードできますか? はここであなたにどのJavaプロセスのヒープダンプを収集する方法

+0

また、cmd Jmapコマンドで実行すると、jmapが外部コマンドまたは内部コマンドとして認識されないことが示されます。 – Pratha

+0

私はJvisualvmでこれを行うのが通常 – garnulf

+0

です。eclipseを使用している場合は、eclipseメモリアナライザもあります – garnulf

答えて

6

ありがとうございコマンドです:

<JDK_HOME>/jmap -F -dump:live,format=b,file=<file_name.hprof> <process_id> 

あなたはここに、このコマンドでファイルの場所を挙げることができます。

+1

これは有効な答えですが、時には特定のプロセスIDで失敗する理由は何ですか?たとえば、次のようなエラーが表示されます。プロセスID 23440にアタッチしています。お待ちください... プロセスにアタッチする際にエラーが発生しました:sun.jvm.hotspot.debugger.DebuggerException:プロセス sun.jvm.hotspot.debuggerにアタッチできません。 DebuggerException:sun.jvm.hotspot.debugger.DebuggerException:プロセスにアタッチできない – murasing

+2

私もそれに遭遇しました。一般的には "-F"オプションを使用して動作します。 –

+1

それは生成されますが、そのようなエラーがポップアップする理由は何ですか? – murasing

関連する問題