jmap - メモリーマップ

形式

jmap [ option ] pid
jmap [ option ] executable core
jmap [ option ] [server-id@]remote-hostname-or-IP

パラメータ

option
各オプションは互いに排他的です。オプションを使用する場合、コマンド名の直後に記述します。
pid
印刷するメモリーマップのプロセス ID。プロセスは Java プロセスである必要があります。マシン上で実行している Java プロセスの一覧を取得するために、jps を使用できます。

executable
コアダンプの作成元の Java 実行可能ファイルです。

core
印刷するメモリーマップのコアファイル。

remote-hostname-or-IP
リモートデバッグサーバー (jsadebugd を参照) のホスト名または IP アドレスです。

server-id
複数のデバッグサーバーが同一のリモートホストで動作している場合の、オプション固有の ID です。

説明

jmap は、指定されたプロセスやコアファイルまたはリモートデバッグサーバーの、共用オブジェクトメモリーマップまたはヒープメモリーの詳細を出力します。指定されたプロセスが 64 ビット VM 上で実行されている場合、次のように -J-d64 オプションの指定が必要な場合があります。

jmap -J-d64 -heap pid

注:このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。dbgeng.dll が存在しない Windows システムでは、これらのツールが機能するために「Debugging Tools For Windows」をインストールする必要があります。また、PATH 環境変数に、ターゲットプロセスで使用される jvm.dll の場所またはクラッシュダンプファイルが生成された場所を含めるようにしてください。

次に例を示します。 set PATH=<jdk>\jre\bin\client;%PATH%


オプション

<オプションなし>
オプションを使用しない場合、jmap は共用オブジェクトマッピングを出力します。ターゲット VM にロードされた共用オブジェクトごとに、開始アドレス、マッピングのサイズ、および共用オブジェクトファイルのフルパスが印刷されます。これは、Solaris の pmap ユーティリティーと類似しています。

-dump:[live,]format=b,file=<filename>
Java ヒープを hprof バイナリ形式で filename にダンプします。live サブオプションは省略可能です。これが指定された場合、ヒープ内で生存中のオブジェクトのみがダンプされます。ヒープダンプを参照するには、生成されたファイルを jhat (Java Heap Analysis Tool) を使用して読み取ります。

-finalizerinfo
ファイナライズを待っているオブジェクトに関する情報を出力します。

-heap
ヒープサマリーを印刷します。使用される GC アルゴリズム、ヒープ構成、および世代ごとのヒープ使用率が印刷されます。

-histo[:live]
ヒープのヒストグラムを印刷します。Java クラスごとに、オブジェクトの数、バイト単位でのメモリーサイズ、および完全修飾クラス名が印刷されます。VM 内部クラス名は、「*」の接頭辞を付けて印刷されます。live サブオプションが指定された場合、生存中のオブジェクトのみがカウントされます。

-permstat
Permanent 世代の Java ヒープの、クラスローダー関連の統計データを印刷します。クラスローダーごとに、その名前、状態、アドレス、親クラスローダー、およびクラスローダーがロードしたクラスの数とサイズが印刷されます。さらに、intern された文字列の数とサイズも出力されます。

-F
強制 (Force)。pid が応答しない場合に、jmap -dump または jmap -histo オプションとともに使用します。このモードでは、live サブオプションはサポートされません。

-h
ヘルプメッセージを出力します。

-help
ヘルプメッセージを出力します。

-J<flag>
jmap が実行されている Java 仮想マシンに <flag> を渡します。

関連項目


Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.