Jvm常见参数

Jvm常见参数_第1张图片

 

-Xms2048m,初始堆大小,建议<物理内存的1/4,默认值为物理内存的1/64(1/64太小,建议1/4)

 

-Xmx2048m,最大堆大小,建议与-Xms保持一致,默认值为物理内存的1/4

(为什么保持一致:初始值1G,最大2G,当内存用了1G的时候,还没到使用上限,可以进行扩容,扩容会进行内存的重新分配、计算,造成扩容期间性能下降)

 

-Xmn512m,新生代大小,建议不超过堆内存的1/2,通常在 1/4 - 1/2 之间 (老年代大小为:最大堆大小 - 新生代大小)

 

-Xss1024k,线程堆栈大小,建议1024k (建议512 - 1024k)

 

-XX:PermSize=256m,永久代初始值,默认值为物理内存的1/64 (够用即可,JDK8中已移除,用Metaspace代替)

 

-XX:MaxPermSize=256m,永久代最大值,默认值为物理内存的1/4 (够用即可,JDK8中已移除,用Metaspace代替)

 

-XX:MetaspaceSize=64m 配置元空间初始值和最大值参数

 

-XX:MaxMetaspaceSize=64m 配置元空间初始值和最大值参数

 

-XX:SurvivorRatio=8:年轻带中Eden区和Survivor区的比例,默认为8:1,即Eden(8),From Space(1),ToSpace(1)

 

-XX:+UseConcMarkSweepGC:开启CMS垃圾回收器

 

设置JVM参数

修改 apache-tomcat-pinter/bin/catalina.sh

 

Linxu 系统:apache-tomcat-pinter/bin/catalina.sh

 

JAVA_OPTS="-Xms256m -Xmx256m -Xmn128m -Xss512k -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=64m -XX:+UseConcMarkSweepGC -Dcom.sun.management.jmxremote.port=8080 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=127.0.0.1"

 

Windwos系统:apache-tomcat-pinter/bin/catalina.bat

 

set "JAVA_OPTS=-Xms256m -Xmx256m -Xmn128m -Xss512k -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=64m -XX:+UseConcMarkSweepGC -Dcom.sun.management.jmxremote.port=8080 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=127.0.0.1"

你可能感兴趣的:(jvm)