本篇记录本人在学习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. lua---研究 c-api

    c-api 参考手册:http://www.leeon.me/a/lua-c-api-manual

  2. blob canvas img dataUrl的互相转换和用处

    blob:代表了一段二进制数据 初始化:var blob = new Blob(array,option)//其中array里面可以包含任意类型对象,option指数据类型如array是['<h ...

  3. 构建可扩展的微博架构(qcon beijing 2010演讲)#高并发经验值#

    构建可扩展的微博架构(qcon beijing 2010演讲) http://timyang.net/architecture/microblog-design-qcon-beijing/ 互联网架构 ...

  4. 微信小程序 swiper轮播 自定义indicator-dots样式

    index.wxml <view class="swiperContainer"> <swiper bindchange="swiperChange&q ...

  5. [ZJOI2019]麻将

    这是一道麻将自动机的模板题(雾 其实这是一道dp套dp借助自动机实现的麻将好题! 首先把期望转化一下,拆成sigema p(x>i) 现在要计算i张牌不胡的概率,也就等价于计算i张牌不胡的方案数 ...

  6. Postman中x-www-form-urlencoded请求K-V的ajax实现

    在Postman中使用x-www-form-urlencoded,并且用K-V传值,但是在代码中用ajax来请求,传值一直有问题,静下心来思考才发现K-V传入的是string,所以记录下来以防忘记!! ...

  7. UnicodeEncodeError: 'gbk' codec can't encode character '\xee'

    在将爬取到的内容写入文件时候报了这个错误,解决方案是在open()的时候给encoding参数传'utf-8'就好了,因为网页的编码就是utf-8. with open('douban.html',' ...

  8. 读javascript高级程序设计-目录

    javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...

  9. Scratch安装使用教程

    一.说明 一直听说scratch是一款麻省理工所开发的很好的少儿编程学习工具,一直不是很清楚所谓少儿编程是长什么样所以探究了一下. 二.安装 scratch当前到了3.0版本,3.0版本默认直接是we ...

  10. Webpack学习-工作原理(上)

    对于webpack的认识始终停留在对脚手架的使用,不得不说脚手架既方便又好用,修改起来也方便,只需要知道webpack中各个配置项的功能,于是对于我们来说,webpack始终就是一个黑盒子,我们完全不 ...