美文网首页
深入理解JVM(第四章笔记)

深入理解JVM(第四章笔记)

作者: walker_liu_fei | 来源:发表于2017-08-15 19:02 被阅读0次

JDK 性能监控工具:

名称 主要作用
jps JVM Process status tool,显示制定系统内所有的Hotspt虚拟机进程
jstat JVM Statistic Monitor Tool,收集Hotspot 虚拟机各方面的运行数据
jinfo configuration info for java,显示虚拟机配置信息
jmap memory map for java 生成虚拟机的内存转储快照(heapdump 文件)
jhat JVM Heap dump browser 用于分析heapdump 文件,它会建立一个HTTP/HTML 服务器,让用户可以再浏览器上查看分析结果
jstack stack trace for java 显示虚拟机线程快照

JPS

jps [ options ] [ hostid ]
命令中的hostid 为RMI注册表中注册的主机名

-q 只输出LVMID(),省略执行主类名
-m 输出进程启动时,传给执行主类main()函数的参数
-l 输出主类的全名,如果进行执行的是jar,输出jar路径
-v 输出虚拟机进行启动时的JVM参数

jstat

命令格式: jstat [ option vmid [interval][s | ms] [count]]
对于命令中的vmid,如果是本地的虚拟机进程,vmid 和 lvmid是一致,如果是远程的格式为 [protocol:][//]lvmid[@hostname [:port]/servername]

 jstat -class pid:显示加载class的数量,及所占空间等信息。  
 jstat -compiler pid:显示VM实时编译的数量等信息。  
 jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。  
 jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。其他的可以根据这个类推, OC是old内纯的占用量。  
 jstat -gcnew pid:new对象的信息。  
 jstat -gcnewcapacity pid:new对象的信息及其占用量。  
 jstat -gcold pid:old对象的信息。  
 jstat -gcoldcapacity pid:old对象的信息及其占用量。  
 jstat -gcpermcapacity pid: perm对象的信息及其占用量。  
 jstat -util pid:统计gc信息统计。  
 jstat -printcompilation pid:当前VM执行的信息。  

jmap

使用方法 : jmap [ option ] vmid

  • -dump:[live,]format=b,file=<filename> 使用hprof二进制形式,输出jvm的heap内容到文件=. live子选项是可选的,假如指定live选项,那么只输出活的对象到文件.
  • -finalizerinfo 打印正等候回收的对象的信息.
  • -heap 打印heap的概要信息,GC使用的算法,+ heap的配置及wise heap的使用情况.
  • -histo[:live] 打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加上前缀”*”. 如果live子参数加上后,只统计活的对象数量.
  • -permstat 打印classload和jvm heap长久层的信息. 包含每个classloader的名字,活泼性,地址,父classloader和加载的class数量. 另外,内部String的数量和占用内存数也会打印出来.
  • -F 强迫.在pid没有相应的时候使用-dump或者-histo参数. 在这个模式下,live子参数无效.
  • -h | -help 打印辅助信息
  • -J 传递参数给jmap启动的jvm.

jstack [options] vmid : 查看线程快照,主要目的是定位线程出现长时间停顿的原因
-F当’jstack [-l] pid’没有相应的时候强制打印栈信息
-l长列表. 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表.
-m打印java和native c/c++框架的所有栈信息.
-h | -help打印帮助信息

相关文章

  • JVM系列-01-JVM内存模型

    [TOC] 声明 本篇文章是本人阅读《深入理解JVM》和《java虚拟机规范》时的笔记。JVM是HotSpot,j...

  • 分布式Java读书笔记二:JVM

    第3章 深入理解JVM 深入理解JVM JVM标准结构 JVM负责装载class文件并执行,因此,首先要掌握的是J...

  • 深入理解JVM笔记

    ->java体系结构 1、java体系结构:由java语言,class文件,java api和虚拟机组成。 2、j...

  • JVM读书笔记

    深入理解JVM(1) : Java内存区域划分 深入理解JVM(2) : Java堆中对象创建、布局、访问全过程 ...

  • 深入理解JVM(第四章笔记)

    JDK 性能监控工具: JPS jps [ options ] [ hostid ]命令中的hostid 为RMI...

  • JVM

    栈容量由-Xss指定深入理解JVM—JVM内存模型 JVM内存模型和JVM参数的关系

  • JVM学习笔记

    JVM学习笔记 上周观看了圣思园张龙老师所讲的<深入了解JVM>课程,结合自己的理解对有关类加载器的内容(Clas...

  • 深入理解虚拟机之垃圾回收

    《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版》读书笔记与常见面试题总结 上篇文章传送门: 深入理解虚...

  • 深入理解JVM小笔记

    1. 第一节主要讲虚拟机简介,和编译的方法,这里先不尝试编译了,一是比较费时间,二是比较费时间,等非常有空再细究。...

  • 《深入理解JVM》阅读笔记

    格式转不过来,就不转不调了,省时间。云笔记连接

网友评论

      本文标题:深入理解JVM(第四章笔记)

      本文链接:https://www.haomeiwen.com/subject/jekmrxtx.html