JVM虚拟机--JVM的参数设置与调优

一、Trace跟踪参数(跟踪GC、类、变量的内存变化情况)

打开GC跟踪日志(每次执行GC的信息都能打印,获得执行时间,空间大小):

-verbose:gc 或 -XX:+printGC 或 -XX:+printGCDetails

类加载监控:(监控类加载的顺序)

-XX:+TraceClassLoading

二、堆的分频参数

-Xmx10M 指定最大堆,JVM最多能够使用的堆空间 (超过该空间引发OOM)

-Xms5M 指定最小堆,JVM至少会有的堆空间(尽可能维持在最小堆)

-Xmn 11M(new) 设置新生代大小

总结:

1.根据实际情况调整新生代和幸存代的大小

2.官方推荐:新生代占堆空间3/8

3.幸存代占新生代1/10

4.OOM时,dump出堆到文件,方便排查

三、栈的分配参数

-Xss 每个线程都有独立的栈空间(几百k,比较小)

需要大量线程时,需要尽可能减小栈空间

栈空间太小-----StackOverFlow栈溢出(一般递归时产生大量局部变量导致)

猜你喜欢

转载自blog.csdn.net/qq_30904985/article/details/82219229