Tomcat底層原理分析:6.Tomcat中對JVM的配置解析

【專欄目錄】
Tomcat底層原理分析:1.基礎環境搭建
Tomcat底層原理分析:2.Tomcat架構分析
Tomcat底層原理分析:3.Jasper引擎
Tomcat底層原理分析:4.Tomcatd的server.xml配置內容解析
Tomcat底層原理分析:5.Web應用配置解析
Tomcat底層原理分析:6.Tomcat中對JVM的配置解析
Tomcat底層原理分析:7.Tomcat集羣配置解析
Tomcat底層原理分析:8.Tomcat安全性配置解析
Tomcat底層原理分析:9.Tomcat性能調優
【本文導讀】

本文需要對JVM有一定了解。
Tomcat的實質也是一個Java應用,所以本文主要講解一下如何配置Tomcat的JVM。
注:本文圖片均來自java進階教程動手實現Tomcat【黑馬程序員精品公開課】,侵權立刪。

1.JVM內存模型圖

image

2.JVM配置項

2.1Linux環境下Tomcat配置JVM

# 複製下面內容到catalina.sh文件中
JAVA_OPTS="-server -Xms1024m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:SurvivorRatio=8

2.2參數詳解

參數 含義
-Xms 堆內存的初始大小
-Xmx 堆內存的最大大小
-Xmn 新生代的內存大小,官方建議是整個堆的3/8
-XX:MetaspaceSize 元空間內存的初始大小,在JDK1.8版本之前配置爲:-XX:PermSize(永久代/持久代)
-XX:MaxMetaspaceSize 元空間內存的最大大小,在JDK1.8版本之前配置爲:-XX:PermSize(永久代/持久代)
-XX:InitialCodeCacheSize
-XX:ReservedCodeCacheSize
代碼緩存區大小
-XX:NewRatio 設置新生代和老年代的比例。好處:新生代的大小可以隨着整個堆的大小動態擴展,如-XX:NewRatio=3,則老年代佔堆大小的3/4,新生代佔堆大小的1/4
-XX:SurvivorRatio 設置伊甸園區(Eden)與倖存區的比例。如-XX:SurvivorRatio=8,則伊甸園區(Eden)的大小是倖存區的8倍,則伊甸園區(Eden)佔新生代大小的8/10,倖存區From佔1/10,倖存區To佔1/10。注意,兩個倖存區永遠一樣大。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章