JVM 调优实战--JVM的运行参数及jinfo查看运行参数信息

为什么要进行JVM优化?

本篇博文基于jdk1.8来讲解。

JVM的参数

标准参数比较稳定,基本上各个不同的jdk版本都会支持。

-X参数是非标参数,各个版本不同,可能用着用着就没了。

-XX参数也属于非标参数,用于JVM调优和debug调试,使用率比较高。

标准参数

jvm的标准参数,一般都是很稳定的,在未来的jvm版本中不会改变。

可以通过 java -help打印出来所有的标准参数:

实战:查看jvm版本

实战:通过-D设置系统属性参数

-server与-client参数

对于64位操作系统,jvm默认是server模式,手动指定为client模式不会生效:

一般情况下,都是使用的server模式。

-X非标参数

JVM的-X参数是非标准参数,在不同版本的JVM中,参数可能会有所不同,可以通过 java -X查看所有非标准参数

-Xint、-Xcomp、-Xmixed

-Xint是解释模式,代码会逐行执行所有字节码,会降低运行速度,至少低10倍;(编译快,运行慢。)

-Xcomp是编译模式,jvm在第一次使用时会将所有的字节码编译成本地代码;(编译慢,运行快。)

-Xmixed是混合模式,也是jvm默认也是推荐使用的模式。混合使用解释和编译模式,由jvm自己决定。

-XX非标参数

-Xms和-Xmx参数

尽量将这两个参数的值设置成一样的,因为在运行过程中弹性扩容或减小容量都会带来性能损耗。

查看JVM的运行参数

运行java命令时打印出运行参数

=表示是默认值未曾修改;

:=表示值已经被修改过。

查看正在运行的JVM参数

查看java进程的两种方式:

①通过ps -ef|grep tomcat Linux命令来查看;

②通过jps命令查看所有java进程。

5212是Tomcat进程;

5246是jps本身的进程ID。

通过jps -l命令可以查看完整的包名:

通过 jinfo -flags 5212查看完整jvm参数信息:

可以通过字节转换成兆M来查看MaxHeapSize最大堆内存为466M:

查看某一个参数的值,使用如下命令:

发布了824 篇原创文章 · 获赞 369 · 访问量 79万+

猜你喜欢

转载自blog.csdn.net/a772304419/article/details/103985063