jvm常用排错命令

冷暖自知 提交于 2019-12-06 15:16:17

 

jvm命令很多,有一篇博客整理的非常全 https://www.cnblogs.com/ityouknow/p/5714703.html。我只列举一些常用的排错用到的。

 

jps   -l   -v 

查看系统所有java(虚拟机)进程的信息。所在位置、启动执行的JVM参数。

 

 

 

jstat   -gc   [hostid]   [ms]  [count] 

jstat   -gcutil   [hostid]   [ms]  [count] 

查看jvm进程hostid的垃圾回收统计概述

 

 

 

  • S0C : survivor0区的总容量
  • S1C : survivor1区的总容量
  • S0U : survivor0区已使用的容量
  • S1C : survivor1区已使用的容量
  • EC : Eden区的总容量
  • EU : Eden区已使用的容量
  • OC : Old区的总容量
  • OU : Old区已使用的容量
  • PC 当前perm的容量 (KB)
  • PU perm的使用 (KB)
  • YGC : 新生代垃圾回收次数
  • YGCT : 新生代垃圾回收时间
  • FGC : 老年代垃圾回收次数
  • FGCT : 老年代垃圾回收时间
  • GCT : 垃圾回收总消耗时间

 

 

jmap -dump:live,format=b,file=/test/test/test.hprof pid

输出dump文件到/test/test/test

 

 

jstack [option] pid

  • -F : 当正常输出请求不被响应时,强制输出线程堆栈
  • -l : 除堆栈外,显示关于锁的附加信息
  • -m : 如果调用到本地方法的话,可以显示C/C++的堆栈

分析jstack输出信息:http://www.hollischuang.com/archives/110

 

 

jinfo [option] pid

  • -flag : 输出指定args参数的值
  • -flags : 不需要args参数,输出所有JVM参数的值
  • -sysprops : 输出系统属性,等同于System.getProperties()

 

 

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!