zoukankan      html  css  js  c++  java
  • Jstat使用

    /**
     * Jstate Example
     */
    public class JstatMain {
        /**
         * S0 — Heap上的 Survivor space 0 区已使用空间的百分比
         * S1 — Heap上的 Survivor space 1 区已使用空间的百分比
         * E — Heap上的 Eden space 区已使用空间的百分比
         * O — Heap上的 Old space 区已使用空间的百分比
         * M — Metaspace区已使用空间的百分比
         * CCS-Compressed class space capacity (kB)
         * YGC — 从应用程序启动到采样时发生 Young GC 的次数
         * YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒)
         * FGC — 从应用程序启动到采样时发生 Full GC 的次数
         * FGCT-从应用程序启动到采样时 Full GC 所用的时间(单位秒)
         * GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)
         */
        public static void main(String args[]) throws IOException {
    
            Map<String, Object> monitor = new HashMap<>();
    
            List<String> statColumn = Arrays.asList("S0", "S1", "E", "O", "M", "CCS", "YGC", "YGCT", "FGC", "FGCT", "GCT");
    
            String name = ManagementFactory.getRuntimeMXBean().getName();
            System.out.println(name);
            String pid = name.substring(0, name.indexOf("@"));
            Process process = Runtime.getRuntime().exec("jstat -gcutil " + pid + " 5000");
    
            //通过process拿到jstat命令的执行结果的输入流
            InputStreamReader isr = new InputStreamReader(process.getInputStream());
            BufferedReader bufferedReader = new BufferedReader(isr);
    
            String line = null;
            while ((line = bufferedReader.readLine()) != null) {
                String[] stats = line.trim().split("[ ]+");
                if (stats.length == statColumn.size()) {
                    for (int i = 0; i < stats.length; i++) {
                        monitor.put(statColumn.get(i), stats[i]);
                        System.out.println(statColumn.get(i) + ":" + stats[i]);
                    }
                    System.out.println("=====");
                }
            }
        }
    }
    

      


    运行结果,
    1142@Yale-Li
    S0:S0
    S1:S1
    E:E
    O:O
    M:M
    CCS:CCS
    YGC:YGC
    YGCT:YGCT
    FGC:FGC
    FGCT:FGCT
    GCT:GCT
    =====
    S0:0.00
    S1:0.00
    E:16.01
    O:0.00
    M:17.19
    CCS:19.74
    YGC:0
    YGCT:0.000
    FGC:0
    FGCT:0.000
    GCT:0.000
    =====
    S0:0.00
    S1:0.00
    E:16.01
    O:0.00
    M:17.19
    CCS:19.74
    YGC:0
    YGCT:0.000
    FGC:0
    FGCT:0.000
    GCT:0.000
    =====

    =========END=========

     
  • 相关阅读:
    HTML中一定会常用的标签和标签属性(这是网页构成的重要元素
    HTML(超文本语言)
    SQL SERVER中视图、事务
    important覆盖行内样式
    线性渐变
    「JavaScript面向对象编程指南」闭包
    移动端文章图片大小限制
    Vue中ajax返回的结果赋值
    「JavaScript面向对象编程指南」基础
    JS媒体查询
  • 原文地址:https://www.cnblogs.com/yepei/p/7011046.html
Copyright © 2011-2022 走看看