検索 
       
[V5] ヒープダンプの取得方法を教えてください。

以下の手順で取得できます。

※取得においては以下の点にご注意ください。
  • 取得に時間を要する場合があります。
  • ヒープダンプの取得が完了するまでProselfの動作が停止します。

  • Windows OSの場合
    1. Proselfが動作しているサーバー上からProselfのプロセスID(PID)を確認するためにタスクマネージャーを起動し、詳細表示に変更します。
    2. プロセスタブ内のtomcat6.exe、java.exeのPIDの値を確認します。
      Windows Server上で動作させている場合、java.exeのプロセスは3つございますのでそれぞれのPIDをご確認ください。
    3. 以下のコマンドを実行します。
      ■tomcat6.exeのプロセス
      {Javaのインストールフォルダ}\bin\jmap.exe -dump:format=b,file=C:\tmp\proself.dump {PID}
      例えば、Javaのインストールフォルダが C:\Program Files\AdoptOpenJDK\jdk-11.0.15+10 であり、tomcat6.exeのPIDが 1234 である場合は以下のコマンドとなります。
      C:\Program Files\AdoptOpenJDK\jdk-11.0.15+10\bin\jmap.exe -dump:format=b,file=C:\tmp\proself.dump 1234

      ■java.exeのプロセス
      {Javaのインストールフォルダ}\bin\jmap.exe -dump:format=b,file=C:\tmp\java{PID}.dump {PID}
      例えば、Javaのインストールフォルダが C:\Program Files\AdoptOpenJDK\jdk-11.0.15+10 であり、java.exeのPIDが 5678 である場合は以下のコマンドとなります。
      C:\Program Files\AdoptOpenJDK\jdk-11.0.15+10\bin\jmap.exe -dump:format=b,file=C:\tmp\java5678.dump 5678

      ※C:\tmpは保存先フォルダの例です。取得先に応じて読み替えてください。
    4. 上記コマンド実行によりC:\tmpフォルダ内に下記ファイルが生成されます。
      proself.dump
      java{PID}.dump(3ファイル)
  • Linux OSの場合
    1. Proselfが動作しているサーバー上からProselfのPIDを確認するためにコマンドライン上でjpsコマンドを実行します。
    2. jpsコマンドにより表示される以下ProselfのPIDを確認します。
      Bootstrap
      Extractor
      JettyServer
      DerbyServer
    3. 以下のコマンドを実行します。
      ■Proselfのプロセス(Bootstrapのみ)
      # jmap -dump:format=b,file=/tmp/proself.dump {PID}
      例えば、BootstrapのPIDが 12345 である場合は以下のコマンドとなります。
      # jmap -dump:format=b,file=/tmp/proself.dump 12345

      ■Proselfのプロセス(Bootstrap以外)
      # jmap -dump:format=b,file=/tmp/java{PID}.dump {PID}
      例えば、ExtractorのPIDが 67890 である場合は以下のコマンドとなります。
      # jmap -dump:format=b,file=/tmp/java67890.dump 67890

      ※/tmpは保存先フォルダの例です。取得先に応じて読み替えてください。
    4. 上記コマンド実行により/tmpフォルダ内に下記ファイルが生成されます。
      proself.dump
      java{PID}.dump(3ファイル)

(最終更新日:2024/01/10)