这篇文章将jvm调优中经常会用到一些参数展示出来,供大家参考。
一、JVM常用调试工具
1、jps 查看所有的jvm进程,包括进程ID
//输出 java运行服务主类全名
jps -l
在后面使用使用jinfo/jstat等工具的使用的时候,可能会遇到这个这个错误
sun.jvm.hotspot.runtime.VMVersionMismatchException
Caused by: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions are 25.232-b09. Target VM is 25.181-b13
排查原因是由于机器上安装了多个jdk导致的。而是用的jdk并不是,指定端口的jdk,所以使用时要指定路径。比如
/usr/local/jdk1.8.0_181/bin/jinfo -flags 88093
但有时候我们并不知道知道当前运行的jdk采用哪个jdk,可以通过ps -ef | grep <服务> 来找对应的服务是通过那个jdk运行的。
2、jps 查看正在运行的jvm参数 jinfo ‐flags <进程id>
//查看对应服务的的主要参数
/usr/local/jdk1.8.0_181/bin/jinfo -flags 88093
//查看服务 jvm 的指定参数
//查看元空间的大小
/usr/local/jdk1.8.0_181/bin/jinfo -flag MetaspaceSi