本篇记录本人在学习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. mac 开启ntfs 权限

    原文: https://zhuanlan.zhihu.com/p/29542892 参考: https://bbs.feng.com/read-htm-tid-9932031.html 其实最早在OS ...

  2. Spring Boot监控与管理的实现

    认识Actuator 在SpringBoot应用中引入spring-boot-starter-actuator依赖,它可以为开发团队提供系统运行的各项监控指标. 在项目中引入依赖配置如下: appli ...

  3. [Linux]防火墙关闭与开启

    防火墙关闭与开启 系统环境:ubuntu16.04 工具:xshell 测试远程主机的端口是否开启 telnet 192.168.xx.xx 80 防火墙关闭/开启/重启 # 防火墙关闭 sudo u ...

  4. (23)socket多进程并发

    # 对于服务器自己本身,一个程序只能绑定一个端口 # 同一个端口可以多个客户端来连接, # 只要server_ip+ server_port +client_ip + cilent_port 不一样, ...

  5. leetcode刷题——一些算法技巧总结2.0

    异或.与的一点总结(这些位运算真的是骚操作2333) 两个相同的数字:a^a=0 取出一个数最右端为1的那一位:a &=-a 其中-a是在计算机中就是a的补码表示(这样所有的加法运算可以使用同 ...

  6. STRANS一:简单的XML转换

    心情不好,泥总把表妹微信给冰冰了,心塞... 1.简单的单层结构: <?sap.transform simple?> <tt:transform xmlns:tt="htt ...

  7. 【OS】Process & Thread

      Process Thread 定义 资源(CPU.内存等)分配的最小单元,是程序执行时的一个实例.程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时 ...

  8. java对象深度拷贝

    如何利用序列化来完成对象的拷贝呢?在内存中通过字节流的拷贝是比较容易实现的.把母对象写入到一个字节流中,再从字节流中将其读出来,这样就可以创建一个新的对象了,并且该新对象与母对象之间并不存在引用共享的 ...

  9. git切换用户踩坑

    1)配置用户信息 git config --global user.name "username" git config --global user.email "**@ ...

  10. Nodejs搭建基于express的应用,使用脚手架工具--express-generator

    1.安装nodejs 1> 去nodejs官网下载最新nodejs安装包,地址:http://nodejs.cn/download/,选择自己适合自己电脑系统的安装包,下载下来,然后一直next ...