本篇记录本人在学习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. js switch 字符串

    //字符串var day="dd";switch (day){case "dd": x="day it's dd"; break;case ...

  2. MySQL优化查询 5.7版本

    1. 变更参数 : query_cache_type 如果何配置查询缓存: query_cache_type 这个系统变量控制着查询缓存工能的开启的关闭.query_cache_type=0时表示关闭 ...

  3. python-作用域解析

    局部作用域和全局作用域:局部作用域不能修改全局作用域的变量 count = 10 def outer(): #global count 局部变量改成全局变量,global声明一下即可.就可以修改了. ...

  4. 8.1 GOF 设计模式:关于设计模式

    关于设计模式…Design Pattern  追求永恒的美1.1 “模式”一词的起源 “每个模式描述了: 一个在我们周围反复出现的问题, 然后是针对这个问题的解决方案. 这样,其他人可以无数次地反复 ...

  5. 『Python进阶』专题汇总

    基础知识 Python3内置函数 『Python』库安装 『流畅的Python』第1~4章_数据结构.编码 『Python』基础数据结构常见使用方法 『Python CoolBook』数据结构和算法_ ...

  6. HTML中的置换元素和非置换元素

    我们都知道,行内元素不能够定义宽度和高度,但 img,input,button等标签作为行内元素却可以定义宽高,为什么呢?这就牵扯到了置换元素和非置换元素. 置换元素: w3c官方解释:“An ele ...

  7. WPF程序打包发布

    1.新建安装项目: 新建项目——其他项目类型——安装与部署——InstallShield Limited Edition Project 2.配置安装信息: 选择Project Assistant进入 ...

  8. iOS启动速度优化

    背景 7月26号我们阿里数据iOS端发布了4.4.0版本,这次版本主要是优化了性能,其中main()阶段的启动耗时优化成果比较明显,从之前的0.5-0.7秒,降低为目前的0.1-0.2秒(main() ...

  9. fflush 和 fsync 的区别

    int fflush(FILE *stream);If stream points to an output stream or an update stream in which the most ...

  10. 用批处理修改hotst文件提示“拒绝访问”解决方法

    执行批处理命令时出现“拒绝访问”情况,把路径地址改为系统路名变量即可: 如 提示拒绝访问: echo 127.0.0.1 www.dujinchi.com >> C:\Windows\Sy ...