ホームページ >Java >&#&チュートリアル >Javaでjmapコマンドを使用するにはどうすればよいですか?

Javaでjmapコマンドを使用するにはどうすればよいですか?

WBOY
WBOY転載
2023-04-20 22:52:061653ブラウズ

jmap コマンドの概要

jmap (Java Virtual Machine Memory Map) は、JDK が提供するコマンド ライン ツールで、Java 仮想マシンのヒープ ダンプ スナップショット ダンプ ファイルを生成できます。さらに、jmap コマンドは、スペース使用量、現在使用されているガベージ コレクター、生成ステータスなど、ファイナライズ実行キュー、Java ヒープ、およびメソッド領域に関する詳細情報を表示することもできます。

jinfo コマンドと同様、Windows システムでの使用には依然としていくつかの制限があります。 dbgeng.dll のない Windows システムでは、jinfo コマンドが正しく動作するために Windows 用のデバッグ ツールがインストールされている必要があり、PATH 環境変数に jvm.dll の場所が含まれている必要があります。

jmap コマンド パラメータ

コマンド構文:

jmap [options] pid

コマンド パラメータの説明:

option: jmap コマンドのオプションのパラメータ。このパラメータが指定されていない場合、 jinfo コマンドは、次に示すように、Java 仮想マシン プロセスのメモリ イメージ情報を表示します:

Javaでjmapコマンドを使用するにはどうすればよいですか?

pid:構成情報を出力するには Java 仮想マシンのプロセス ID。

実行中の Java 仮想マシン プロセスのリストを取得するには、Java 仮想マシン プロセスが別のプロセスで実行されていない場合は、ps コマンド (Linux システムの場合) または tasklist コマンド (Windows システムの場合) を使用できます。 docker インスタンスでは、jps コマンドを使用できます。

オプションパラメータとは何ですか?見てみましょう。

-heap

Java ヒープの次の情報を表示します。

  • 指定されたガベージ コレクション アルゴリズムの情報 (ガベージ コレクションの名前を含む)アルゴリズムとゴミ リサイクルアルゴリズムの詳細。

  • ヒープ構成情報は、コマンド ライン オプションで指定することも、サーバー構成に基づいて Java 仮想マシンによって選択することもできます。

  • ヒープ メモリ領域の使用状況に関する情報 (世代ステータス、総容量、使用済みメモリ、各世代の利用可能なメモリなど)。世代がさらに細分化される場合 (若い世代など)、細分化されたスペースのメモリ使用量情報が含まれます。

例:

Javaでjmapコマンドを使用するにはどうすればよいですか?

-histo[:live]

オブジェクトの統計情報を表示します。 Java ヒープ。オブジェクトの数、占有メモリ サイズ (単位: バイト)、クラスの完全修飾名が含まれます。例:

Javaでjmapコマンドを使用するにはどうすればよいですか?

#オブジェクトのサイズを取得するには、その合計サイズをそのオブジェクト タイプの数で割ります。 live パラメーターが指定されている場合、ライブ オブジェクトのみがカウントされます。例:

Javaでjmapコマンドを使用するにはどうすればよいですか?

-clstats

Java ヒープのメタスペースにあるクラス ローダーの統計を表示します。次のものが含まれます。

class_loader : Java 仮想マシンの実行時に、クラス ローダー オブジェクトのアドレス
classes: ロードされたクラスの数
bytes: クラス ローダーによってロードされたすべてのクラスのメタデータのバイト数
parent_loader :parent クラス ローダー オブジェクトのアドレス (表示されていない場合) null
alive: クラス ローダー オブジェクトが生きているかどうかを示すインジケーター。クラス ローダー オブジェクトがガベージ コレクションされるかどうかを示します。
type: クラスローダーのクラス名。

例:

Javaでjmapコマンドを使用するにはどうすればよいですか?

-finalizerinfo

ファイナライザー スレッドがファイナライズ メソッドを実行するのを F キューで待機しているオブジェクトを表示します。 。例:

Javaでjmapコマンドを使用するにはどうすればよいですか?

-dump:[live,]format=b,file=

Java 仮想マシンのヒープ ダンプ スナップショット ダンプ ファイルを生成します。

  • liveパラメータはオプションです。指定すると、ヒープ内のアクティブなオブジェクトのみがダンプされます。指定しない場合は、ヒープがダンプされます。内のすべてのオブジェクトがダンプされます。

  • format=b は、Java ヒープ メモリを hprof バイナリ形式でダンプすることを意味します。

  • file=<filename></filename> は、スナップショット ダンプ ファイルのファイル名を指定するために使用されます。

例:

Javaでjmapコマンドを使用するにはどうすればよいですか?

-F

強制モード。指定した pid が応答しない場合は、-dump または -histo と併用できます。このモードでは、live パラメータはサポートされません。例:

Javaでjmapコマンドを使用するにはどうすればよいですか?

-h および -help

は、jinfo コマンドのヘルプ情報を表示します。

以上がJavaでjmapコマンドを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。