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章 虚拟机性能监控与故障处理工具
理论总是作为指导实践的工具,能把这些知识应用到实际工作中才是 我们的最终目的. 给一个系统定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处理数据的手段.这里说的数据包括:运行日志.异 ...
随机推荐
- mac 开启ntfs 权限
原文: https://zhuanlan.zhihu.com/p/29542892 参考: https://bbs.feng.com/read-htm-tid-9932031.html 其实最早在OS ...
- Spring Boot监控与管理的实现
认识Actuator 在SpringBoot应用中引入spring-boot-starter-actuator依赖,它可以为开发团队提供系统运行的各项监控指标. 在项目中引入依赖配置如下: appli ...
- [Linux]防火墙关闭与开启
防火墙关闭与开启 系统环境:ubuntu16.04 工具:xshell 测试远程主机的端口是否开启 telnet 192.168.xx.xx 80 防火墙关闭/开启/重启 # 防火墙关闭 sudo u ...
- (23)socket多进程并发
# 对于服务器自己本身,一个程序只能绑定一个端口 # 同一个端口可以多个客户端来连接, # 只要server_ip+ server_port +client_ip + cilent_port 不一样, ...
- leetcode刷题——一些算法技巧总结2.0
异或.与的一点总结(这些位运算真的是骚操作2333) 两个相同的数字:a^a=0 取出一个数最右端为1的那一位:a &=-a 其中-a是在计算机中就是a的补码表示(这样所有的加法运算可以使用同 ...
- STRANS一:简单的XML转换
心情不好,泥总把表妹微信给冰冰了,心塞... 1.简单的单层结构: <?sap.transform simple?> <tt:transform xmlns:tt="htt ...
- 【OS】Process & Thread
Process Thread 定义 资源(CPU.内存等)分配的最小单元,是程序执行时的一个实例.程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时 ...
- java对象深度拷贝
如何利用序列化来完成对象的拷贝呢?在内存中通过字节流的拷贝是比较容易实现的.把母对象写入到一个字节流中,再从字节流中将其读出来,这样就可以创建一个新的对象了,并且该新对象与母对象之间并不存在引用共享的 ...
- git切换用户踩坑
1)配置用户信息 git config --global user.name "username" git config --global user.email "**@ ...
- Nodejs搭建基于express的应用,使用脚手架工具--express-generator
1.安装nodejs 1> 去nodejs官网下载最新nodejs安装包,地址:http://nodejs.cn/download/,选择自己适合自己电脑系统的安装包,下载下来,然后一直next ...