ホームページ >Java >&#&チュートリアル >Javaでjmapコマンドを使用するにはどうすればよいですか?
jmap (Java Virtual Machine Memory Map) は、JDK が提供するコマンド ライン ツールで、Java 仮想マシンのヒープ ダンプ スナップショット ダンプ ファイルを生成できます。さらに、jmap コマンドは、スペース使用量、現在使用されているガベージ コレクター、生成ステータスなど、ファイナライズ実行キュー、Java ヒープ、およびメソッド領域に関する詳細情報を表示することもできます。
jinfo コマンドと同様、Windows システムでの使用には依然としていくつかの制限があります。 dbgeng.dll
のない Windows システムでは、jinfo コマンドが正しく動作するために Windows 用のデバッグ ツールがインストールされている必要があり、PATH 環境変数に jvm.dll の場所が含まれている必要があります。
コマンド構文:
jmap [options] pid
コマンド パラメータの説明:
option
: jmap コマンドのオプションのパラメータ。このパラメータが指定されていない場合、 jinfo コマンドは、次に示すように、Java 仮想マシン プロセスのメモリ イメージ情報を表示します:
pid
:構成情報を出力するには Java 仮想マシンのプロセス ID。
実行中の Java 仮想マシン プロセスのリストを取得するには、Java 仮想マシン プロセスが別のプロセスで実行されていない場合は、ps コマンド (Linux システムの場合) または tasklist コマンド (Windows システムの場合) を使用できます。 docker インスタンスでは、jps コマンドを使用できます。
オプション
パラメータとは何ですか?見てみましょう。
Java ヒープの次の情報を表示します。
指定されたガベージ コレクション アルゴリズムの情報 (ガベージ コレクションの名前を含む)アルゴリズムとゴミ リサイクルアルゴリズムの詳細。
ヒープ構成情報は、コマンド ライン オプションで指定することも、サーバー構成に基づいて Java 仮想マシンによって選択することもできます。
ヒープ メモリ領域の使用状況に関する情報 (世代ステータス、総容量、使用済みメモリ、各世代の利用可能なメモリなど)。世代がさらに細分化される場合 (若い世代など)、細分化されたスペースのメモリ使用量情報が含まれます。
例:
オブジェクトの統計情報を表示します。 Java ヒープ。オブジェクトの数、占有メモリ サイズ (単位: バイト)、クラスの完全修飾名が含まれます。例:
#オブジェクトのサイズを取得するには、その合計サイズをそのオブジェクト タイプの数で割ります。 live
パラメーターが指定されている場合、ライブ オブジェクトのみがカウントされます。例:
Java ヒープのメタスペースにあるクラス ローダーの統計を表示します。次のものが含まれます。
class_loader : Java 仮想マシンの実行時に、クラス ローダー オブジェクトのアドレス
classes: ロードされたクラスの数
bytes: クラス ローダーによってロードされたすべてのクラスのメタデータのバイト数
parent_loader :parent クラス ローダー オブジェクトのアドレス (表示されていない場合) null
。
alive: クラス ローダー オブジェクトが生きているかどうかを示すインジケーター。クラス ローダー オブジェクトがガベージ コレクションされるかどうかを示します。
type: クラスローダーのクラス名。
例:
ファイナライザー スレッドがファイナライズ メソッドを実行するのを F キューで待機しているオブジェクトを表示します。 。例:
Java 仮想マシンのヒープ ダンプ スナップショット ダンプ ファイルを生成します。
live
パラメータはオプションです。指定すると、ヒープ内のアクティブなオブジェクトのみがダンプされます。指定しない場合は、ヒープがダンプされます。内のすべてのオブジェクトがダンプされます。
format=b
は、Java ヒープ メモリを hprof バイナリ形式でダンプすることを意味します。
file=<filename></filename>
は、スナップショット ダンプ ファイルのファイル名を指定するために使用されます。
例:
強制モード。指定した pid が応答しない場合は、-dump
または -histo
と併用できます。このモードでは、live パラメータはサポートされません。例:
は、jinfo コマンドのヘルプ情報を表示します。
以上がJavaでjmapコマンドを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。