Jvm常見參數及配置


Jvm常見參數
  • -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"

控制台輸入 jvisualvm 打開 jmv界面


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM