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章 虚拟机性能监控与故障处理工具
理论总是作为指导实践的工具,能把这些知识应用到实际工作中才是 我们的最终目的. 给一个系统定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处理数据的手段.这里说的数据包括:运行日志.异 ...
随机推荐
- Ant Design of React 框架使用总结1
一. 为什么要用UI 框架 统一了样式交互动画 . Ui框架会对样式,交互动画进行统一,保证了系统风格完整统一,不像拼凑起来的. 兼容性 ,不是去兼容IE 6 7 8那些低版本浏览器,而是对主流的标 ...
- C#演示如何使用 XML 将源码编入文档
工作闲暇时间,将做工程过程中常用的代码段记录起来,下面的代码是关于C#演示如何使用 XML 将编入文档的代码,希望对大伙有较大帮助. using System; public class SomeCl ...
- Linux 缩减逻辑卷
因工作需要,将/usr/users 空间从100G 缩小到50G 检查文件系统类型 mount | grep /usr/users 发现该文件系统使用的是 xfs ,逻辑卷为 /dev/appvg ...
- MIUI8系统完整刷入开发版开启root权限的经验
小米的机器不同手机型号一般情况官网都提供两个不同的安卓系统版本,可分为稳定版和开发版,稳定版没有提供root超级权限管理,开发版中就支持了root超级权限,很多情况我们需要使用的一些功能强大的APP, ...
- session和cookie的简介
Session(时域)在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session ...
- C# 一些不注意知识点:命名空间,等级,class等等
C# 命名空间表示域,控制着域内的对象. 命名空间是第一等级,class,delegate,enum,interface,struct是第二等级: 方法,属性,字段,索引,事件,常量,构造函数,终结器 ...
- expect使用
expect时用与提供自动交互的工具.比如如果想要用ssh登陆服务器,每次都输入密码你觉得麻烦,那你就可以使用expect来做自动交互,这样的话就不用每次都输入密码了. 先看例子: #!/usr/bi ...
- [springMvc] 源码分析笔记(二)
1.SpringMvc 中核心Servlet的继承结构图 2.HttpServletBean public abstract class HttpServletBean extends HttpSer ...
- python django连接错误
提示: connection.alias,django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0 ...
- DOM 操作成本究竟有多高,HTML、CSS构建过程 ,从什么方向出发避免重绘重排)
前言: 2019年!我准备好了 正文:从我接触前端到现在,一直听到的一句话:操作DOM的成本很高,不要轻易去操作DOM.尤其是React.vue等MV*框架的出现,数据驱动视图的模式越发深入人心,jQ ...