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

中古本JDKバージョン「Java仮想マシン、の深い理解は、」1.6です。本書の4.2.2例は、同じ性能ではなく、このレコードでは、jdk1.8下の本に記載されています。

jdk1.8ホットスポット仮想マシンが恒久的に世代を削除されているので、文字列定数は、ヒープメモリに移動しました。追加されたメタスペース(三次元空間)、メタスペースを移動させるための領域での方法。メタスペースは、メモリサイズは、物理マシンによって制限され、ローカルメモリを使用しています。

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

模範的な書き込みの例

図1に示すように、新たなコントローラ

@RestController
@RequestMapping("/jvm/jstat")
public class B_Jstat {
    Logger logger = LoggerFactory.getLogger(B_Jstat.class);
    static List<OOMObject2> list = new ArrayList<>();

    static class OOMObject2{
        public byte[] placeholder = new byte[1024 * 1024];  //1M byte数组
    }
    public static void fillOutOfMemory(int num) throws InterruptedException{
        list = new ArrayList<>();
        for (int i = 0; i < num ; i++){
            TimeUnit.MILLISECONDS.sleep(100);
            list.add(new OOMObject2());
        }
    }
    //属性list填充1000个OOMObject2实例,模拟堆内存溢出
    @GetMapping("/obj")
    public String outOfMemory(HttpServletRequest request) throws Exception{
        fillOutOfMemory(1000);
        return "完成";
    }
}

図2に示すように、サービスを開始し、最大値と最小ヒープメモリは512メートルに設定されています。nohupを-Xms512m -Xmx512m -jar javaの春-ブートlean.jar&

図3に示すように、図1に示した動作状態JSTAT仮想マシンモニタを使用してJava / jdkXXX / binディレクトリにルートディレクトリ  

図4に示すように、要求送信HTTPを:// XXX:8080 / JVM / jstat- / OBJ  、監視データが変更されます。

JSTAT -gc 6602 5000 100コマンドは説明します:

-gc役割はエデンの面積は、そのような歳の容量、使用領域、GCの合計時間やその他の情報などの2つの生存領域、を含む、Javaヒープの状態を監視することです。

6602春・ブートlean.jarこのサービスのプロセスIDです

5000は、お問い合わせのプロセスに一度5秒を表し

100は、100個のクエリの総数を示し

説明するために、図1のパラメータ

S0C    survivor区0总容量,单位KB
S1C    survivor区1总容量,单位KB
S0U    survivor区0使用量,单位KB
S1U    survivor区1使用量,单位KB
EC     Eden区总容量,单位KB
EU     Eden区使用量,单位KB
OC     老年代总容量,单位KB
OU     老年代使用量,单位KB
MC     Metaspace总容量,单位KB
MU     Metaspace使用量,单位KB
CCSC   Metaspace中Klass Metaspace总容量,单位KB
CCSU   Metaspace中Klass Metaspace使用量,单位KB
YGC    Minor GC 次数
YGCT   Minor GC 消耗总时间,单位S
FGC    FullGC 次数
FGCT   FullGC 消耗总时间,单位S
GCT    GC总消耗时间,单位S

リストB_Jstat)(すべての新しいOOMObject2を引き起こし、強い参照でガベージコレクションのメカニズムを再利用することはできません。図1は、図から分かります。

1、古い時代の量が徐々にOUを上昇します。

2、OUは、EUは減らすことはできませんので、仮想マシンは、OUにオブジェクトをコピーすることはできません(最後の数行を、EUは削減することができない)、最大に達しました。

また、図生存領域からわかる3は、また、エデン領域の容量の部分から借用されてもよいです。

 

公開された51元の記事 ウォン称賛14 ビュー40000 +

おすすめ

転載: blog.csdn.net/u010606397/article/details/82807937