JVM常用的分析命令_第1页
JVM常用的分析命令_第2页
JVM常用的分析命令_第3页
JVM常用的分析命令_第4页
JVM常用的分析命令_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在 Java 应用运行中有时候会出现 CPU 或内存飙升等问题, 这时候我们可以通过一些 JVM 命令分析一下对应进程的虚拟机运行状态以定位和解决问题,并 且优化程序,是 Java 程序员必备技能。一、 jps ,查看 Java 进程信息在 Linux 系统中,如果我们要找到一个 Java 进程的 pid ,一般使用 ps 命令, 而查找的是 Java 程序的进程的话,使用 jps 更加简单方便:、 jinfo ,查看或动态修改一些 JVM 参数 命令格式: jinfo option 进程号 options 可选参数:-flag <name> 输出指定名称的参数信息-flag +|

2、-<name> 打开或者关闭参数-flag <name>=<value> 设置参数-flags 输出所有参数-sysprops 输出系统配置<no option>输出 -flags 、 -sysprops 两个选项其中:-XX:InitialHeapSize :初始堆大小,默认为物理内存的 1/64(<1GB) ;-XX:MaxHeapSize :最大堆大小;-XX:NewSize :新生代的内存空间大小;-XX:OldSize :老年代的内存空间大小;、 jstat ,查看 JVM 运行时的内存状态、垃圾回收等状态信息。命令格式: jst

3、at option pid interval count其中 pid 是进程 id , interval 是输出间隔时间(毫秒), count 是输出次数(默认一直输出)Option 可选参数:? -class class loader 的行为统计? -compiler HotSpt JIT编译器行为统计? -gc 垃圾回收堆的行为统计? -gccapacity 各个垃圾回收代容量 (young,old,perm) 和他们相应的空间统计? -gcutil 垃圾回收统计概述? -gccause 垃圾收集统计概述(同 -gcutil ),附加最近两次垃圾回收事件的原因? -gcnew 新生代行为统

4、计? -gcnewcapacity 新生代与其相应的内存空间的统计? -gcold 年老代和永生代行为统计? -gcoldcapacity 年老代行为统计? -gcpermcapacity 永生代行为统计-printcompilation HotSpot编译方法统计其中:S0C survivor0 大小S1C survivor1 大小S0U survivor0 已使用大小S1U survivor1 已使用大小EC Eden 区大小EU Eden 区已使用大小? OC 老年代大小? OU 老年代已使用大小MC 方法区大小? MU 方法区已使用大小? CCSC 压缩类空间大小? CCSU 压缩类空

5、间已使用大小? YGC 年轻代垃圾回收次数? YGCT 年轻代垃圾回收消耗时间? FGC 老年代垃圾回收次数? FGCT 老年代垃圾回收消耗时间? GCT 垃圾回收消耗总时间四、 jstack ,可以定位线程中出现长时间卡顿,死循环等原因的代码。命令格式: jstack option pidoption 参数解释:? -F 连接挂起的进程。? -l 连接运行中的进程? -m 同时输出 java 和本地堆栈 ( 混合模式 )首先,我们先用 top Hp 命令,找到 Java 进程的每个线程 pid ,如下图所示,第一列就是 Java 进程下每个线程的 pid :然后用 printf 命令将十进制

6、的 pid 转为十六进制:最后用 jstack 命令结合 grep 命令定位线程代码入口:jstack 16028|grep 3e9c -A 30五、 jmap ,是用来生成堆 dump 文件和查看堆相关的类详细信息以及使用情况命令格式: jmap option pidoption 参数解释:? <none> to print same info as Solaris pmap? -heap 输出 java 堆信息? -histo:live 输出堆中的 java 对象统计信息? -clstats 输出类加载器统计信息? -finalizerinfo 输出在 f-queue 中等待执

7、行 finalizer 方法的对象? -dump:<dump-options>生成 java 堆的 dump 文件dump-options:live 只转储存活的对象,如果没有指定则转储所有对象format=b 二进制格式file=<file> 转储文件到 <file>?-F 强制选项使用示例:jmap dump:live,fromat=b,file=class.txt 16028num *insrancesbytes CIaSS name1:466081111232j avaIang String2:6919734516java.lang.Class3:478753616

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论