JVM 参数设置

1.查看JVM初始参数
java -XX:+PrintFlagsInitial -version

 

2.查看JVM被修改过的参数

java -XX:+PrintFlagsFinal -version | grep ":"

java -XX:NewRatio=4 -XX:+PrintFlagsFinal -version | grep ":"

 

3.查看JVM被修改过的参数

java -XX:+PrintCommandLineFlags -version

 

4.NewRatio

-XX:NewRatio=2 表示老生代与新生代的比例为:2:1

即老生代占整个堆内存的2/3,新生代占整个堆内存的1/3

如果设置了-Xmn=xx,整个NewRatio参数无效

 

5.SurvivorRatio

-XX:SurvivorRatio=8 表示Eden与幸存区 Survivor的比例为:8:1:1

即Eden占占新生代的8/10,两个Survivor个占新生代的1/10

 

6.通过jinfo动态调整JVM参数

 jinfo -flag +PrintGCDetails pid

 jinfo -flag +PrintGCDateStamps pid

 

7.GC日志输出,并可以使用GCViewer查看GC情况

java -Xms1024M -Xmx1024M -Xmn100M -XX:+PrintGCDetails -XX:+PrintGCDateStamps Xloggc:gc.log Test

 

8.发生OOM时保持堆文件

java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/logs Test

 jhat java_pid208.hprof

 

9.jmap

jmap -heap pid

jmap -histo:live pid

jmap -dump:live,format=b,file=a.bin 7612

jhat a.bin

10.-XX:-OmitStackTraceInFastThrow

    对异常信息进行优化,在执行若干次后会将异常吞掉。

    JDK5、6、7异常次数为:20707

    JDK8异常次数为:115717

    -XX:+OmitStackTraceInFastThrow -> 开启优化

    -XX:-OmitStackTraceInFastThrow  -> 禁止优化

你可能感兴趣的:(JVM 参数设置)