java虚拟机——监控工具
本篇记录本人在学习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虚拟机——监控工具的更多相关文章
- Java虚拟机常用的性能监控工具
基础故障处理工具 jps: 虚拟机进程状况工具 功能:来处正在运行的虚拟机进程,并显示虚拟机执行主类名称,以及本地虚拟机唯一ID. 它是使用频率最高的命令行工具,因为其他JDK工具大多需要输入他查询到 ...
- (十)java虚拟机性能监控工具
一. jps(Java Virtual Machine Process Status Tool) jps主要用来输出JVM中运行的进程状态信息.语法格式如下: 命令行参数选项说明如下: 1.1 案例 ...
- java虚拟机(十)--性能监控工具测试内存溢出和死锁基本思路
在之前就曾经简单介绍过jdk自带的性能检测工具,但是只是很入门的内容.没有真正的用过都是白扯了,面试的时候也说不过去,更别提真正 在生产环境去解决问题,所以这里我们学习一下真正解决问题的过程,最起码面 ...
- 《深入理解Java虚拟机》调优案例分析与实战
上节学习回顾 在上一节当中,主要学习了Sun JDK的一些命令行和可视化性能监控工具的具体使用,但性能分析的重点还是在解决问题的思路上面,没有好的思路,再好的工具也无补于事. 本节学习重点 在书本上本 ...
- 《深入理解Java虚拟机》虚拟机性能监控与故障处理工具
上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念 ...
- 《深入Java虚拟机学习笔记》- 第9章 垃圾收集
一.Java内存组成 组成图 堆(Heap) 运行时数据区域,所有类实例和数组的内存均从此处分配.Java虚拟机启动时创建.对象的堆内存由称为垃圾回收器的自动内存管理系统回收. 组成 组成 详解 Yo ...
- 《深入理解JAVA虚拟机》笔记1
java程序运行时的内存空间,按照虚拟机规范有下面几项: )程序计数器 指示下条命令执行地址.当然是线程私有,不然线程怎么能并行的起来. 不重要,占内存很小,忽略不计. )方法区 这个名字很让我迷惑. ...
- 《深入理解Java虚拟机》-----第5章 jvm调优案例分析与实战
案例分析 高性能硬件上的程序部署策略 例 如 ,一个15万PV/天左右的在线文档类型网站最近更换了硬件系统,新的硬件为4个CPU.16GB物理内存,操作系统为64位CentOS 5.4 , Resin ...
- 《深入理解Java虚拟机》-----第4章 虚拟机性能监控与故障处理工具
理论总是作为指导实践的工具,能把这些知识应用到实际工作中才是 我们的最终目的. 给一个系统定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处理数据的手段.这里说的数据包括:运行日志.异 ...
随机推荐
- laravel基础知识学习总结(路由、中间件、控制器)
路由: 路由:是将信息从源地址传递到目的地得角色 Route::get('/test',function(){ }); //分号不能丢 报错信息MethodNotAllowedHttpExcept ...
- Mybatis映射文件中#取值时指定参数相关规则
Mybatis映射文件中#取值时指定参数相关规则 在#{}中,除了需要的数值外,还可以规定参数的一些其他规则. 例如:javaType,jdbcType,mode(存储过程),numericScale ...
- selenium+java 数据驱动
一.数据驱动测试概念 数据驱动测试是相同的测试脚本使用不同的测试数据执行,测试数据和测试行为完全分离. 二.实施数据驱动测试的步骤: 1.编写测试脚本,脚本需要支持程序对象.文件或者数据库读入测试数据 ...
- HBase详解
1. hbase简介 1.1. 什么是hbase HBASE是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群. H ...
- PyQt5——高级控件
PyQt5高级控件使用方法详见:https://blog.csdn.net/jia666666/article/list/4?t=1& PyQt5高级控件汇总: 1.QTableView 2. ...
- java小白也能懂的面向对象
类是对一组具有共同特征和行为的对象的抽象描述. 理解 [1]类是专门用于描述现实生活中的事物的. [2]类描述的事物都具有共同的特征和行为. [3]类就是我们通常所说的 “类型” ,描述的是一个群体性 ...
- 使用js实现放大镜效果
点击预览放大镜效果,图片比较大,因为需要精细的图片去凸显放大的效果,请耐心 可以通过滑轮控制放大倍数,由于图片太大 如果放大镜没有出现 可刷新一下网页
- python webdriver api-对启动的火狐浏览器添加配置
Webdriver启用的火狐不带插件,可以自已进行配置 先找到火狐的安装路径 C:\Program Files\Mozilla Firefox 步骤说明 在CMD中使用cd命令进入firefox.ex ...
- Vue非父子级通信
<div id="app"> <xz-todo></xz-todo> </div> <!--1. 为每个组件定义HTML 模板 ...
- pycharm配置QtDesigner
QtDesigner C:\Qt\Qt5.12.2\5.12.2\mingw73_64\bin\designer.exe $ProjectFileDir$ Pyuic C:\Anaconda3\pyt ...