本篇记录本人在学习JDK监控工具的一些笔记。JDK是1.8

  JPS:查看java的进程命令

    左边的数字是进程ID,对应的是进程的名称。

  jstat:查看运行时状态信息。

  1、-class:监控类装载,卸载数量,总空间以及消费的时间

      jstat -class + 进程ID

    Loaded:加载class的数量

    Bytes:class字节大小

    Unloaded:未加载数量

    Bytes:未加载Class的字节大小

    Time:加载时间

 2、-gc:垃圾回收堆的行为统计(常用命令)

    jstat -gc +进程ID [多少毫秒打印一次] [一共打印多少次]

   

      

SOC survivor0总容量
S1C survivor1总容量
S0U survivor0已经使用的容量
S1U survivor1已经使用的容量
EC Eden区总容量
EU Eden区已经使用的容量
OC 老年区总容量
OU 老年区已经使用的容量
MC 方法区的总容量
MU 方法区已经使用的容量
CCSC  压缩类空间大小
CCSU    压缩类空间使用的大小 
YGC 年轻代垃圾回收次数 
YGCT 年轻代垃圾回收的时间 
FGC 老年代垃圾回收的次数
FGCT 老年代垃圾回收的时间 
GCT 垃圾回收总消耗时间 

      由图可得,MajorGC执行了4次,FullGC执行了一次,STW 0.002s,总消耗的时间为0.016s.

      总GC消耗的时间(GCT) = YGC + FGCT

      通常,64位JVM消耗的内存会比32位的大1.5倍。因为在64位JVM下,长度会翻倍。

      

  3、-gccapacity:同-gc,同时还会输出JAVA堆各区域的使用到的最大、最小空间

    jstat -gccapacity +进程ID

    NGCMN:新生代占用的最小空间                OGCMN:老年代占用的最小空间    MC:当前元数据的空间大小

    NGCMX:新生代占用的最大空间      OGCMX:老年代占用的最大空间    CCSMN:最小压缩类空间大小

    NGC:当前新生代的空间        OGC:老年代已用的空间         CCSMX:最大压缩类空间大小

    SOC:survivor0的空间总量          OC:当前老年的容量(KB)      CCSC:当前压缩类空间大小

    S1C:survivor1的空间总量        MCMN:最小元数据容量        YGC:yongGC(Major GC)回收次数

    EC:Eden区 的总容量          MCMX:最大元数据容量        FGC:Full GC回收次数

    

   4、-gcutil:同-gc,输出的是已使用空间占总空间的百分比

      SO:survivor0区当前的使用比例    O:老年代使用的比例    YGC:年轻代垃圾回收次数    FGCT:老年代垃圾回收时间

      S1:survivor1区当前使用的比例  M:元数据区使用的比例   YGCT:年轻代垃圾回收的耗时   GCT:垃圾回收的总耗时

      E:Eden区当前使用的比例    CSS:压缩使用比例     FGC:老年代垃圾回收次数

   5、-gccause:在-gcutil的基础上附加最近两次垃圾回收时间的原因

    

      LGCC:最近垃圾回收的原因    GCC:当前垃圾回收的原因  AllocationFailure:内存分配失败

      两个可视化工具:jconsole  jvisualvm

    

java虚拟机——监控工具的更多相关文章

  1. Java虚拟机常用的性能监控工具

    基础故障处理工具 jps: 虚拟机进程状况工具 功能:来处正在运行的虚拟机进程,并显示虚拟机执行主类名称,以及本地虚拟机唯一ID. 它是使用频率最高的命令行工具,因为其他JDK工具大多需要输入他查询到 ...

  2. (十)java虚拟机性能监控工具

    一. jps(Java Virtual Machine Process Status Tool) jps主要用来输出JVM中运行的进程状态信息.语法格式如下: 命令行参数选项说明如下: 1.1 案例 ...

  3. java虚拟机(十)--性能监控工具测试内存溢出和死锁基本思路

    在之前就曾经简单介绍过jdk自带的性能检测工具,但是只是很入门的内容.没有真正的用过都是白扯了,面试的时候也说不过去,更别提真正 在生产环境去解决问题,所以这里我们学习一下真正解决问题的过程,最起码面 ...

  4. 《深入理解Java虚拟机》调优案例分析与实战

    上节学习回顾 在上一节当中,主要学习了Sun JDK的一些命令行和可视化性能监控工具的具体使用,但性能分析的重点还是在解决问题的思路上面,没有好的思路,再好的工具也无补于事. 本节学习重点 在书本上本 ...

  5. 《深入理解Java虚拟机》虚拟机性能监控与故障处理工具

    上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念 ...

  6. 《深入Java虚拟机学习笔记》- 第9章 垃圾收集

    一.Java内存组成 组成图 堆(Heap) 运行时数据区域,所有类实例和数组的内存均从此处分配.Java虚拟机启动时创建.对象的堆内存由称为垃圾回收器的自动内存管理系统回收. 组成 组成 详解 Yo ...

  7. 《深入理解JAVA虚拟机》笔记1

    java程序运行时的内存空间,按照虚拟机规范有下面几项: )程序计数器 指示下条命令执行地址.当然是线程私有,不然线程怎么能并行的起来. 不重要,占内存很小,忽略不计. )方法区 这个名字很让我迷惑. ...

  8. 《深入理解Java虚拟机》-----第5章 jvm调优案例分析与实战

    案例分析 高性能硬件上的程序部署策略 例 如 ,一个15万PV/天左右的在线文档类型网站最近更换了硬件系统,新的硬件为4个CPU.16GB物理内存,操作系统为64位CentOS 5.4 , Resin ...

  9. 《深入理解Java虚拟机》-----第4章 虚拟机性能监控与故障处理工具

    理论总是作为指导实践的工具,能把这些知识应用到实际工作中才是 我们的最终目的. 给一个系统定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处理数据的手段.这里说的数据包括:运行日志.异 ...

随机推荐

  1. IDEA Maven项目的Mybatis逆向工程

    IDEA Maven项目的Mybatis逆向工程 1.配置.pom 如果是在多模块开发下,该文件逆向工程要生成的那个模块下的pom文件. <build> <plugins> & ...

  2. java的hello world

    public class HelloWorld { public static void main(String []args) { System.out.println("Hello Wo ...

  3. 2>&1的意思

    2>&1的意思就是将标准错误也输出到标准输出当中.

  4. OpenGL.tutorial06键盘和鼠标

    1.这个图是用 Excel画的 简单示意图(单元格边框,视图-->网格线) 1.1.中间的 正立方体 处于 X/Y/Z轴的中心,边长为2 ZC:代码中 原版是 人物在 (0,0,5)处,水平夹角 ...

  5. h5视频播放

    h5视频播放 一直在写js原生的东西,感觉总是停滞不前,现在我们应该学一些h5新的特性,因为我们毕竟是从事前端的,下面我们一起来写一个视频播放吧 1,html <div class=" ...

  6. js ++i和i++的区别

    ++i和i++的定义: 1.  如果用前缀运算符对一个变量增1(减1),则在将该变量增1(减1)后,用新值在表达式中进行其他的运算.    2. 如果用后缀运算符对一个变量增1(减1),则用该变量的原 ...

  7. @RequestMapping的Ant风格URL

    Ant风格资源地址支持3中匹配符 ? 匹配文件名中一个字符. *   匹配 文件名中任意字符 **  匹配多层路径 例如 /hello/*/myspring 匹配 /hello/abc/mysprin ...

  8. SQL 基础学习(1):下载DB Browser for SQLite. 下载graphviz(为了使用Rails ERD的前提)出现❌,已debug.

    SQL is a standard language for storing, manipulating and retrieving data in databases. 关系型数据库:RDBMS( ...

  9. Robot Framework自动化测试(1)

    Python: https://www.python.org/ RF框架是基于python 的,所以一定要有python环境. Robot framework : https://pypi.pytho ...

  10. angular 引入编辑器遇到的各种问题。。。

    1.项目中找不到angular-cli.json,也找不到angular.json 2. 3.