本篇记录本人在学习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. 分页查询最好加排序(order by)

    昨天,与外部化系统对接时,发现有一个数据一直咩有集成到,双方各自排查了自己系统的代码,都觉得逻辑非常简单,无法就是一个分页查询而已. 问题就出在这个分页查询上. 为了说明当时问题发生的情景,我模拟了一 ...

  2. c#泛型约束 (where T:class)

    .NET支持的类型参数约束有以下五种:where T : struct                               | T必须是一个结构类型where T : class       ...

  3. 【转载】Java性能优化之JVM GC(垃圾回收机制)

    文章来源:https://zhuanlan.zhihu.com/p/25539690 Java的性能优化,整理出一篇文章,供以后温故知新. JVM GC(垃圾回收机制) 在学习Java GC 之前,我 ...

  4. Python自学:第三章 使用del语句删除元素

    motorcycles = ["honda", "yamaha", "suzuki"] print(motorcycles) del mot ...

  5. 《c++ concurrency in action》读书笔记2--线程管理

    一.线程的启动 1. 每个c++程序至少有一个线程,是由C++ runtime启动的 2. 在c++11中,通过一个std::thread 对象启动线程.可以向std::thread传递一个函数,或者 ...

  6. 《BUG创造队》第一次作业:团队亮相

    项目 内容 这个作业属于哪个课程 2016级软件工程 这个作业的要求在哪里 第五次实验 团队名称 BUG创造队 作业学习目标 通过本次项目了解并熟悉团队开发的过程 关于我们 -我们的队名:BUG创造队 ...

  7. UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 30633: illegal multibyte sequence

    import urllib.request def load_baidu(): url = "https://www.baidu.com/" header = {"Use ...

  8. 【单调队列优化dp】 分组

    [单调队列优化dp] 分组 >>>>题目 [题目] 给定一行n个非负整数,现在你可以选择其中若干个数,但不能有连续k个数被选择.你的任务是使得选出的数字的和最大 [输入格式] ...

  9. MySQL数据库(2)

    上一篇我们讲述过MySQL创建数据库,数据表的内容,其中涉及到了几个约束: NOT NULL   非空约束 PRIMARY KEY   主键约束 UNIQUE KEY    唯一约束 其实还有两个约束 ...

  10. Python3+Scapy安装使用教程

    一.说明 之前写DoS程序的时候(见"拒绝服务(DoS)理解.防御与实现"),数据包完全是自己构造的,这其中的难处一是要清楚各层协议的字段.字段长度.字段是数值还是字符.大头还是小 ...