()ノート用VMのパフォーマンスの監視とトラブルシューティングツール

出典:周志明前方の「Java仮想マシン、の深い理解」

表1

名前 主な役割
JPS JVMプロセスステータスツールは、指定されたシステム内のすべてのホットスポットの仮想マシンのプロセスを表示します
JSTAT JVMの統計は、HotSpot仮想マシンのすべての側面を収集するためのツールの運転データを監視します
Jinfoの Java仮想マシンの構成情報表示のための設定情報
jmapの Java仮想マシンを生成するためのメモリマップ
JHT 分析heapdumpファイルのJVMヒープダンプブラウザは、ユーザーがブラウザで結果を見ることができるように、HTTP / HTMLサーバーを作成します。
jstack Javaのスレッドのスタックトレースは、仮想マシンのスナップショットを表示します

表1は、メインの監視ツールのコマンドラインを説明しています。
ここでは11件の詳細を開始しました:

JPS:VMプロセス・ステータス・ツール

機能:
仮想マシンがメインクラス(実行プロセスやディスプレイを実行している仮想マシンの一覧を表示するにはMain Classmainクラスの関数が存在する)名、およびローカルの仮想マシン固有のIDでこれらのプロセスを。そして、ローカル仮想マシンのために、LVMIDオペレーティング・システムのプロセスIDは同じです。

jpsフォーマット:

jps [options] [hostid]
例を適用する:
ここに画像を挿入説明
jpsあなたは、RMIプロトコル経由でリモート仮想マシンプロセスのオープン状態RMIサービスを照会することができるhostidのRMIレジストリのホスト名で登録され
jpsたオプションの主なツール
表2

オプション(オプション) 効果
-q 出力はlvmidは、朱レイの名が省略されています
-m 仮想マシンプロセスに渡された出力パラメータは、マスタークラスメインを開始()関数
-l プロセスは、JARパッケージのjarパッケージパスの出力を行っている場合、マスタークラスの出力のフルネーム、
-v 仮想マシンプロセスのJVMパラメータは、出力を開始します

jstat:監視ツールの仮想マシンの統計情報

機能:

コマンドは、クラスのロード、メモリ、ガベージコレクション、JITコンパイラおよびその他の動作データの過程でローカルまたはリモートのVMを表示するために、各種ステータス情報ラインツールを実行している仮想マシンを監視するために使用されます。

jstatフォーマット:

jstat [option vmid [interval[slms][count]]

ローカルの仮想マシンの場合- > VMIDLVMID同じ

VMIDフォーマット:[protocol:][//]lvmid[@hostname[:port]/servername]

パラメータ間隔とクエリー間隔を表し、あなたは両方のパラメータを省略した場合、回数をカウントし、その一つだけのクエリを示します

仮定すると250ミリ秒ごとのクエリガベージコレクションプロセス2764の場合、クエリ20回に一度:

jstat -gc 2764 250 20

jstatオプションの主なツール:

オプション 効果
-クラス 監視クラスのロード、総容量の荷降ろし量、およびそれがクラスをロードするのにかかる時間
-gc Javaは、このような永久発電容量、使用領域、GC総時間情報としてエデンエリア、2つのsuvivor地区、古い時代を含め、状況を監視し、ヒープ
-gccapacity コンテンツを監視し、基本的に同じ-GCが、出力は、主に最大、最小のスペースを使用して、各領域にJavaヒープ懸念されています
-gcutil コンテンツを監視し、基本的には同じことを-GCが、出力は合計領域の割合の利用が注目されています
-gcnew GCは、新世代の状態を監視します
-gcnewcapacity コンテンツを監視し、基本的には同じことを-gcnew、最大限に大きな懸念の出力を使用して、最小スペース
-gccause 関数-gcutilと一致しますが、最後のGCによって生成された追加の出力を発生します
-gcold GC古いの状態監視
-gcoldcapacity コンテンツを監視し、基本的には同じことを-gcold、最大限に大きな懸念の出力を使用して、最小スペース
-gcpermcapacity 最大と最小の出力空間永久使用を置換
-コンパイラ JITコンパイラの出力コンパイル方法、時間がかかり、他の情報
-printcompilation 出力は、JITコンパイルされたメソッドとなっています

jinfo:Java構成ツール

機能:

リアルタイムビューとは、仮想マシンのパラメータを調整します

jinfoフォーマット:

jinfo [option] pid

jmap:Javaのメモリイメージツール

機能:

スナップショット・ヒープ・ダンプ(ダンプ・ファイルまたは一般呼ぶheapdump)を生成するため、このような現在コレクタ使用されるスペースの利用、としてクエリ実行キュー、Javaスタックと永久世代の詳細を、確定。

(暴力は取得:-XX:HeapDumpOnOutOfMemoryError仮想マシンは、異常表示されOOMことができます自動的に生成されたダンプファイル-XX:+HeapDumpOnCtrlBreak使用して[ctrl]+[break]生成されたダンプファイルキー)

jmapのコマンド形式:

jmap [option] vmid

jmapツールの主なオプション

オプション 効果
-投げ捨てる Javaのヒープダンプのスナップショットを生成します。形式は次のとおりです。-dump:[live,]fomat=b,file=<filename>ライブのみダンプサブパラメータがライブオブジェクトかどうかを示しています
-finalizerinfo 。F-キューにファイナライズ方法ファイナライザスレッドを実行するための表示オブジェクトを待ってのLinux、Solarisプラットフォームの下でのみ有効でダウンロード
-ヒープ などの使用パラメータ設定、世代状況の回復などのJavaスタックの表示内容は、Linuxの/ Solarisの中にのみ有効です
-histo クラス、インスタンス数、総容量を含むヒープ表示統計、
-permstat クラスローダは、国家を代表して統計的な永久メモリを示すことです。Linux / Solarisプラットフォームでのみ有効
-F 応答しないの場合は、仮想マシンのプロセス-dumpオプションは、あなただけのLinux / Solarisでのダンプのスナップショットを強制するために、このオプションを使用することができます

jhat:仮想マシンのヒープ・ダンプ解析ツールのスナップショット

機能:

そして、jmap分析するために組み合わせて、jmapヒープが生成されたスナップショットをダンプし、ブラウザで結果を表示することができます。
しかし、一般的に分析するためにそれを使用することはありません。

  • サーバー上のダンプファイルの直接分析は、アプリケーションをデプロイしない、分析作業に時間がかかり、ハードウェアリソースを消費します
  • jhat解析は比較的簡単です
    ので、私はきっぱりと説明していません。

jhat:仮想マシンのヒープ・ダンプ解析ツールのスナップショット

機能:

そして、jmap組み合わせて、分析するjmapヒープが生成されたスナップショットをダンプします

jstack:Javaのスタックトレースツール

機能:

(一般的に呼ばれる現在時刻の仮想マシンのスナップショットを生成するためのスレッドthreaddumpまたはjavacore)、スレッドは、スレッドが長いポーズを表示見つけるために、各実行スレッドスタックのスナップショットが生成され、現在の仮想マシン内のスレッドのスナップショット方法のコレクションです。

jstackフォーマット:

jstack [option] vmid

jstackツールの主なオプション

オプション 効果
-F 要求が出力に正常な応答でない場合は、出力スレッドスタックを強制
-l スタックに加えて、ロックに関する追加情報を表示
-m ローカルメソッドの呼び出した場合は、C / C ++のスタックを表示することができます
公開された19元の記事 ウォンの賞賛3 ビュー3821

おすすめ

転載: blog.csdn.net/weixin_42792088/article/details/100150082