jvm常用参数

Posted 皇甫哲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jvm常用参数相关的知识,希望对你有一定的参考价值。

jvm常用的参数:

1.-Xms20M

设置堆容量的最小值为20M,必须以M为单位。

2.-Xmx20M

设置堆容量的最大值为20M,必须以M为单位。把-Xms和-Xmx的值设为一样可以避免堆自动扩展。大的项目-Xmx和-Xms一般要10G、20G甚至更高。

3.-verbose:gc  

输出虚拟机中gc的详细情况。

4.-Xss128k

设置虚拟机栈的大小是128k

5.-Xoss128k

设置本地方法栈的大小为128k。Hotspot虚拟机不区分虚拟机栈和本地方法栈,这个对于Hotspot来说是无效的。

6.-XX:PermSize=10M

表示jvm初始分配的永久带的容量,必须以M为单位。

7.-XX:MaxPermSize=10M

jvm允许分配的永久带的最大容量,必须以M为单位。大部分情况下默认为64M。

8.Xnoclassgc

表示关闭jvm对类的垃圾回收。

9.-XX:+TraceClassLoading

表示查看类的加载信息

10.-XX:+TraceClassUnLoading

表示查看类的卸载信息

11.-XX:NewRatio=4

表示年轻代:老年代的比是1:4

12.-XX:SurvivorRatio=8

表示 Eden区::一个Survivor区 = 8,默认是8

13.-Xmn20M

设置年轻代的大小是20M

14.-XX:+HeapDumpOnOutOfMemoryError

表示可以让虚拟机出现内存溢出时Dump出当前的堆内存存储快照。

15.-XX:+UseG1GC

使用G1垃圾收集器

16.-XX:+PrintGCDetails

在控制台打印出gc具体细节

17.-XX:+PrintGC

在控制台打印出gc信息

18.-XX:PretenureSizeThreshold=3145728

对象大于3145728(3M)直接进入老年代,这里只能以字节作为单位。

19.-XX:MaxTenuringThreshold=1

表示对象年龄大于1,自动进入老年代

20.-XX:CompileThreshold=1000

表示一个方法被调用1000次后被认为是热点代码,并触发即使编译。

21.-XX:+PrintHeapAtGC

表示可以看到每次gc前后堆内存布局

22.-XX:+PrintTLAB

表示可以看到TLAB的使用情况

23.-XX:+UseSpining

开启自旋锁

24.-XX:PreBlockSpin

更改自旋锁的自旋次数,使用这个参数必须先开启自旋锁。

 

 

以上是关于jvm常用参数的主要内容,如果未能解决你的问题,请参考以下文章

常用jvm参数配置

JVM面试问题系列:JVM 配置常用参数和常用 GC 调优策略

JVM 配置常用参数和常用 GC 调优策略

常用JVM参数(JDK 8)

73.JVM内存基础结构,参数分类,推荐的配置项,参数混用问题,常用工具,常用命令

面试题:JVM 配置常用参数和常用 GC 调优策略