美文网首页
jvm常用命令

jvm常用命令

作者: 付存 | 来源:发表于2018-09-14 13:43 被阅读0次

1、jps

            显示系统中所有Hotspot虚拟机进程。

参数: 

  1. -l :输出主类全名。 

  2. -v:输出虚拟机进程启动的jvm参数。 

  3. -m:输出启动时传递给main函数的参数。 

  4. -q:只输出LVMID,省略主类的名称。

2、jinfo

        显示虚拟机的配置信息,可观察进程运行环境参数,包括Java System属性和JVM命令行参数。​​

参数: 

  1. -flag< name >: 打印指定java虚拟机的参数值。 

  2. -flag [+|-]< name >:设置或取消指定java虚拟机参数的布尔值。 

  3. -flag < name >=< value >:设置指定java虚拟机的参数的值。

示例:

  1. ➜ ~ jinfo 10565 
  2. ➜ ~ jinfo -flag CICompilerCount 10565 
  3. ➜ ~ jinfo -flag +PrintGCDetails 
  4. ➜ ~ jinfo -flag -PrintGCDetails 10532 
  5. ➜ ~ jinfo -flag CMSInitiatingOccupancyFraction=80 10532 

3、jstack

        显示虚拟机的线程栈信息,用于生成当前JVM的所有线程快照。  

参数: 

  1. -F:当正常输出的请求不被响应时,强制输出线程堆栈。 

  2. -l:除堆栈外,显示关于锁的附加信息。 

  3. -m:如果调用到本地方法的话,可以显示C/C++的堆栈 
  4. 命令格式:jstack [option] vmid。

示例:

  1. ➜ ~ jstack -F 10532 
  2. ➜ ~ jstack -l 10532 
  3. ➜ ~ jstack -m 10532 

4、jstat

        实时显示本地或远程JVM进程中类装载、内存、垃圾收集、JIT编译等数据。

参数: 

  1. -class:监视类装载、卸载数量、总空间及类装载所耗费的时间。 

  2. -gc:监听Java堆状况,包括Eden区、两个Survivor区、老年代、永久代等的容量,以用空间、GC时间合计等信息。 

  3. -gccapacity:监视内容与-gc基本相同,但输出主要关注java堆各个区域使用到的最大和最小空间。 

  4. -gcutil:监视内容与-gc基本相同,但输出主要关注已使用空间占总空间的百分比。 

  5. -gccause:与-gcutil功能一样,但是会额外输出导致上一次GC产生的原因。 

  6. -gcnew:监视新生代GC状况。 

  7. -gcnewcapacity:监视内同与-gcnew基本相同,输出主要关注使用到的最大和最小空间。 

  8. -gcold:监视老年代GC情况。 

  9. -gcoldcapacity:监视内同与-gcold基本相同,输出主要关注使用到的最大和最小空间。 

  10. -gcpermcapacity:输出永久代使用到最大和最小空间。 

  11. -compiler:输出JIT编译器编译过的方法、耗时等信息。 

  12. -printcompilation:输出已经被JIT编译的方法。

示例:

  1. ➜ ~ jstat -class 10532 
  2. ➜ ~ jstat -gc 10532 
  3. ➜ ~ jstat -gccapacity 10532 
  4. ➜ ~ jstat -gcutil 10532 
  5. ➜ ~ jstat -gccause 10532 
  6. ➜ ~ jstat -gcnew 10532 
  7. ➜ ~ jstat -gcnewcapacity 10532 
  8. ➜ ~ jstat -gcold 10532 
  9. ➜ ~ jstat -gcoldcapacity 10532 
  10. ➜ ~ jstat -compiler 10532 
  11. ➜ ~ jstat -printcompilation 10532 

5、jmap

        用于生成虚拟机的内存快照信息

参数: 

  1. -dump:生成java堆转储快照。 

  2. -heap:显示java堆详细信息(只在Linux/Solaris下有效)。 

  3. -F:当虚拟机进程对-dump选项没有响应时,可使用这个选项强制生成dump快照(只在Linux/Solaris下有效)。 

  4. -finalizerinfo:显示在F-Queue中等待Finalizer线程执行finalize方法的对象(只在Linux/Solaris下有效)。 

  5. -histo:显示堆中对象统计信息。 

  6. -permstat:以ClassLoader为统计口径显示永久代内存状态(只在Linux/Solaris下有效)。

示例:

  1. ➜ ~ jmap -heap 10532 
  2. ➜ ~ jmap -histo 10532 | more 
  3. ➜ ~ jmap -F 10532 
  4. ➜ ~ jmap -finalizerinfo 10532 

6、jconsole

        内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。可使用 JConsole来监控 Java 应用程序性能和跟踪 Java 中的代码。  

7、gc相关术语

  1. S0C:S0区容量(S1区相同,略) 
  2. S0U:S0区已使用 
  3. EC:E区容量 
  4. EU:E区已使用 
  5. OC:老年代容量 
  6. OU:老年代已使用 
  7. PC:Perm容量 
  8. PU:Perm区已使用 
  9. YGC:Young GC(Minor GC)次数 
  10. YGCT:Young GC总耗时 
  11. FGC:Full GC次数 
  12. FGCT:Full GC总耗时 
  13. GCT:GC总耗时

相关文章

  • jvm常用:命令 、参数

    jvm 常用命令: java -XX:+PrintFlagsFinal -version 查看所有jvm参数 如...

  • 阿尔萨斯-jvm

    Jvm jvm 检测工具 阿尔萨斯(Arthas) 安装 监控命令常用命令 dashboard(仪表盘) Thre...

  • JVM内存分析

    JVM常用命令 jps 查看所有的java进程ID jinfo 实时查看和调整JVM配置参数查看jinfo -fl...

  • JVM命令与调试工具

    JVM常用命令行命令 jps命令:查看系统中有哪些进程使用jvm虚拟机 扩展参数:jps -l;jps -mlv;...

  • jvm 调优 和gc 算法

    jvm 常用命令 : jmap jstat jinfo jps gc 算法 串行垃圾回收器(Serial ...

  • 【死磕JVM】什么是JVM调优?

    想要学习JVM调优,我们必须提前知道他们的一些参数,这样才方便我们更好的去使用他们 JVM常用命令行参数 JVM的...

  • FGC排查基础知识

    排查思路及常用命令 1、查看java进程 ps -ef | grep java jps 2、检查JVM配置 ps ...

  • JVM调优

    前言 本系列系统的介绍了jvm调优及相关工具的使用。笔者会先介绍jvm的基本概念,然后介绍常用命令、常用工具,最后...

  • JVM常用命令

    JVM常用命令: jps 显示当前运行的java进程以及相关参数 jps参数: 备注:也可以使用ps aux | ...

  • Java学习路线大全

    Java基础 一:Java开发介绍 1. DOS常用命令 2. JVM、JRE、JDK之间的关系 3. Java开...

网友评论

      本文标题:jvm常用命令

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