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=========

     
  • 相关阅读:
    课题:快速建立自己的外链资源圈
    【干货分享】常用端口服务对照表
    【经验分享(续篇)】Trachtenberg system(特拉亨伯格速算系统)
    网站渗透测试原理及详细过程
    渗透测试入门DVWA 教程1:环境搭建
    CTF---密码学入门第七题 杯酒人生
    CTF---密码学入门第六题 古典密码
    CTF---密码学入门第五题 传统知识+古典密码
    CTFCrackTools在Windows下显示A Java Exception has occurred的解决方案
    CTF---密码学入门第四题 困在栅栏里的凯撒
  • 原文地址:https://www.cnblogs.com/yepei/p/7011046.html
Copyright © 2011-2022 走看看