8

[JVM教程与调优] JVM都有哪些参数类型?

 4 years ago
source link: http://www.cnblogs.com/coder-programming/p/12601570.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

3m6fiyz.png!web

JDK本身是提供了一些监控工具,有一些是命令行,也有图形界面。本次介绍命令行如何进行监控。

命令行是非常重要的,因为在我们生产环境基本上是没有图形界面的,完全是通过命令行。

主要内容:

  • JVM的参数类型
  • 运行时JVM参数查看
  • jstat查看虚拟机统计信息
  • jmap+MAT实战内存溢出
  • jstack实战死循环与死锁

JVM参数类型

那么都有哪些JVM参数类型呢?一共分为三大类

  • 标准参数
  • X参数
  • XX参数

标准参数

1.-help

2.-server -client

3.-version -showversion

4.-cp -classpath

标准参数,在各个版本的JVM里面中,基本保持不变。相对比较稳定

例如:java -help

V3AfiaI.png!web

X参数

  • 非标准参数

也就是说在各个版本的JVM中可能会变,但是变化的也比较小。

1.-Xint:解释执行

2.-Xcomp:第一次使用就编译成本地代码

3.-Xmixed:混合模式,JVM自己来决定是否编译成本地代码

举例:

q6zAFfR.png!web

u22UJni.png!web

iaaQVn3.png!web

但是我们这块X参数平时用的并不多,用的更多而是后面这块XX参数。

XX参数

这块参数用的是非常多,相信许多同学在网上会经常看到XX参数来设置JVM。我们先来看下它都有什么特点。

特点:

  • 非标准化参数化
  • 相对不稳定
  • 主要用于JVM调优和Debug

分类

主要分为两大类

  • Boolean类型

格式:-XX:[+-] 表示启用或者禁用name属性。其中+号表示启用该参数,-号表示禁用该参数。

比如:

-XX:+UseConcMarkSweepGC

表示启用了CMS垃圾收集器

-XX:+UseG1GC

表示启用了G1垃圾收集器

  • 非Boolean类型

格式:-XX: = 表示name属性的值是value,主要是以key,value形式存在。

比如:

-XX:MaxGCPauseMillis=500

表示GC最大的停顿时间是500ms。

-XX:GCTimeRatio=19

表示GCTimeRatio等于19。

小结

以上先简单了解一下分为两大类:Boolean 与 非Boolean类型。Boolean是带有+-号,而非Boolean类型是key,value形式存在,中间用等号。

-Xmx -Xms

这两个参数,相信许多小伙伴们都见过。这两个参数分别是一个设置最大内存,一个设置最小内存。

  • 不是X参数,而是XX参数

    1.-Xms等价于-XX:InitialHeapSize

    2.-Xmx等价于-XX:MaxHeapSize

    3.-Xss等价于-XX:ThreadStackSize

InitialHeapSize 初始堆的大小。 MaxHeapSize 最大的堆大小。 ThreadStackSize 线程堆栈大小

可以先简单查看下运行后的进程,最大的堆大小值。

qQVJnaJ.png!web

查看一下线程的堆栈大小。

6n6Jbyy.png!web

可以看到这块的线程堆栈大小有1024k,默认情况不做修改的话,堆栈其中的一个线程就有1024k,这线程应该还是比较大的。我们在调优的时候还是会把这个值调小一些。

这次就先介绍到这里,下一章讲介绍 如何查看JVM运行时参数

推荐

文末

文章收录至

Github:  https://github.com/CoderMerlin/coder-programming

Gitee:  https://gitee.com/573059382/coder-programming

欢迎 关注 并star~

JzEJzeq.png!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK