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章 虚拟机性能监控与故障处理工具
理论总是作为指导实践的工具,能把这些知识应用到实际工作中才是 我们的最终目的. 给一个系统定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处理数据的手段.这里说的数据包括:运行日志.异 ...
随机推荐
- 集合基本操作 Python DAY2
集合本身具有两个特性 1.去重 2.关系测试 列表转集合的两种写法: list_1=[1,2,3,4,1,2,7,8,] list_1=set(list_1) #方法二 list_2=set([1, ...
- sysbench工具安装使用
一.sysbench简介 Sysbench是一款开源的.跨平台的.模块化的.多线程的性能测试工具,通过高负载地运行在数据库上,可以执行CPU.内存.线程.IO.数据库等方面的性能测试.用于评估操作系统 ...
- 获取的输入内容,没有被P标签包裹的文本和元素进行处理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python实现汉诺塔问题
汉诺塔问题可以简单描述成为将a柱子上的圆盘按一定规则借助b柱子完美地复制到c柱子上.现假设有a,b,c三根柱子,a柱子上的圆盘从上到下依次标号为1,2,3,……,n,且为递增状态.规则:每次移动一个盘 ...
- The Last Week
二轮省选前的最后一周了呢. 一路走到这里,真的很希望能继续走下去. 好好调整一下状态,争取能有机会买D吧(虽然现在似乎D也没什么用了 day1 多项式 多项式ln 多项式exp day2 数据结构 L ...
- 笔记《JavaScript 权威指南》(第6版) 分条知识点概要3—表达式和运算符
[表达式和运算符]原始表达式,初始化表达式(对象和数组的),函数定义表达式,属性访问表达式,调用表达式,对象创建表达式,运算符概述,算术表达式,关系表达式,逻辑表达式,赋值表达式,表达式计算,其他运算 ...
- python中pyperclip库的功能
python3中pyperclip库的功能 作用就是复制.粘贴 例子 import pyperclip pyperclip.copy('Hello world!') pyperclip.paste() ...
- git(三) 使用github
1.创建仓库 ① 注册github账户,登录后,点击"New respository ". ② 在新页面中,输入项目的名称,勾选'readme.md',点击'create repo ...
- 微信或QQ屏蔽域名,爆红域名如何在微信打开,如何进行微信域名防封?
近很多朋友都会遇到这个问题,为什么我的微信域名或者QQ域名怎么总是提示拦截呢?在这里跟大家说一下吧: 第一点:就是域名里面的内容违规或者诱导被举报而导致的拦截 第二点:就是被用户或者同行恶意举报而导致 ...
- WinHex18.4算法分析
经过分析,注册码分为六个部分: Name: "xxx" Addr1: "yyy" Addr2: "zzz" 这三个字符不代表长度 Key1: ...