JVM毎日のトラブルシューティング。基本的な操作やコマンド

1.jstat 

JSTAT -gcutil PID 5S // PIDプロセスID

リコールメモリを監視し、すべての5秒に一度

Eは、エデンの面積の利用を表し、
用法の代わりにO(旧)歳;
P用法の代わりに(永久)永久代表。

圧縮率を使用してCCS

容量の現在の割合を表す多値空間(MetaspaceSize)を用い
、周波数の代表YGC(ヤングGC)およびマイナーGC
YGCT加工代表マイナーGC、
FGC(フルGC)フルGCの数を表す;
FGCT(フルGC)が処理代表フルGCを;
マイナー&フルGCに代わってGCTの合計時間がかかります。

統計監視ツール

     JSTAT [generalOption | outputOptions VMID [間隔[秒| MS] [カウント]]]

    一般的にLinuxの/ Unixシステム上のVMIDの仮想マシンIDは、プロセスIDです。間隔はサンプリング間隔です。カウントはサンプルの数です。GCの例は、以下の情報は、出力が、サンプリング時間間隔は250ミリ秒、サンプル数が4です。

     例えば:JSTAT -gc 21711 250 4

 2.jps(Java仮想マシンプロセスステータスツール)      

    JPS出力は、主にJVM実行中のステータス情報を処理するために使用されます。構文は次のとおりです。

jps [options] [hostid]

 

    あなたは、現在のホストのホストIDまたはサーバにデフォルト値を指定しなかった場合。

    次のようにコマンドラインパラメータオプションは次のとおりです。

  1.  
    -qを出力しないクラス名、JAR名、着信mainメソッドのパラメータ
  2.  
    mainメソッドに渡された-m出力パラメータ
  3.  
    -l出力メインクラスまたはジャー・ジャー名//出力と完全修飾名の完全修飾名
  4.  
    -v出力パラメータは何かJVM JVMパラメータ//出力設定を通過しました

 jstack

 jstack -F pidのデッドロックをチェックします

jstackスレッドを使用して、調査の中で最も時間のかかるプロセス

1.トップ、その後、最も時間のかかるプロセスはまた-ef PSを使用することができます見つけるために、処理時間がかかり、メモリの消費量と他のランキングを見るために+ Mをシフト|グレップ**のjava。

2.top -hp PID最も時間のかかるスレッドがxidの下糸を得るために最も時間のかかるプロセスを識別

3.次に、使用のprintf「%X \ n」スレッドの進数に来るXID

4.最後に、使用jstack pidを| grepをXID pidのプロセスID XIDスレッドID

スレッド情報を表示します。トラブルシューティング。

 

jmapの 

jmapの-dump:フォーマット= B、ファイル= dumpFileName

jmapの-dump:フォーマット= B、ファイル=を/ tmp / dump.dat 21711

 

ダンプファイルはMAT、VisualVMのおよび他のツールで表示することができます

 

例:プロジェクトのJVMの構成

 -Xms1G -Xmx2G -XX:+ HeapDumpOnOutOfMemoryError -XX:HeapDumpPath = /ホーム/ * /アプリ/ * /ログ/ java_heapdump.hprof -Xloggc:/ホーム/ * /アプリ/ * /ログ/ ec_gc.log -verbose:gcを - XX:+ PrintGCDetails -XX:+ PrintGCDateStamps -XX:+ PrintGCTimeStamps -XX:+ UseGCLogFileRotation -XX:NumberOfGCLogFiles = 10 -XX:GCLogFileSize = 100M

 

おすすめ

転載: www.cnblogs.com/love-htt/p/12653319.html