您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)tomcat9 中怎么設(shè)置虛擬內(nèi)存 ,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
Connector是連接器,負(fù)責(zé)接收客戶的請求,以及向客戶端回送響應(yīng)的消息。
打開tomcat/conf/server.xml,找到如下配置
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
修改為
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" enableLookups="false" maxThreads="10000" minSpareThreads="1000" acceptCount="9000" disableUploadTimeout="true" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" compression="on" compressionMinSize="1024" useSendfile="true" noCompressionUserAgents="gozilla, traviata" compressibleMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript " />
參數(shù)描述:
org.apache.coyote.http11.Http11NioProtocol:調(diào)整工作模式為Nio
maxThreads:最大線程數(shù),默認(rèn)150。增大值避免隊列請求過多,導(dǎo)致響應(yīng)緩慢。
minSpareThreads:最小空閑線程數(shù)。
acceptCount:當(dāng)處理請求超過此值時,將后來請求放到隊列中等待。
disableUploadTimeout:禁用上傳超時時間
connectionTimeout:連接超時,單位毫秒,0代表不限制
URIEncoding:URI地址編碼使用UTF-8
enableLookups:關(guān)閉dns解析,提高響應(yīng)時間
compression:啟用壓縮功能
compressionMinSize:最小壓縮大小,單位Byte
compressibleMimeType :壓縮的文件類型
需要基礎(chǔ)知識:堆棧內(nèi)存,jvm 垃圾收集器,jvm 性能監(jiān)控常用工具,能夠讀懂gc日志等。
JDK 1.8中 PermSize 和 MaxPermGen 已經(jīng)無效。JDK 1.8 中已經(jīng)不存在永久代的結(jié)論 而以 元空間 代替
修改 tomcat/bin/catalina.sh (8G 內(nèi)存機器參考配置):
JAVA_OPTS="-Xms4G -Xmx4G -Xmn1024m -XX:MetaspaceSize=1024M -XX:MaxMetaspaceSize=1024M -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+HeapDumpOnOutOfMemoryError -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:/appl/gc.log -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly"
-Xms4G 初始分配的堆內(nèi)存
-Xmx4G 最大允許分配的堆內(nèi)存,這兩個配成一樣。
-Xmn1024m 最小允許分配的堆內(nèi)存。
-XX:MetaspaceSize=1024M 初始元空間大小,達到該值就會觸發(fā)垃圾收集進行類型卸載,同時GC會對該值進行調(diào)整:如果釋放了大量的空間,就適當(dāng)降低該值;如果釋放了很少的空間,那么在不超過MaxMetaspaceSize時,適當(dāng)提高該值。
-XX:MaxMetaspaceSize=1024M
-XX:+UseConcMarkSweepGC 并發(fā)標(biāo)記清除(CMS)收集器
-XX:+CMSClassUnloadingEnabled
-XX:+HeapDumpOnOutOfMemoryError 表示當(dāng)JVM發(fā)生OOM時,自動生成DUMP文件。
-XX:HeapDumpPath=${目錄}參數(shù)表示生成DUMP文件的路徑,也可以指定文件名稱,例如:-XX:HeapDumpPath=${目錄}/java_heapdump.hprof。如果不指定文件名,默認(rèn)為:java_<pid>_<date>_<time>_heapDump.hprof。
-verbose:gc 輸出GC日志 , -XX:+PrintGC 與 -verbose:gc 是一樣的,可以認(rèn)為-verbose:gc 是 -XX:+PrintGC的別名.
-XX:+PrintGCDetails 打印GC詳細信息
-XX:+PrintGCTimeStamps 打印gc時間戳
-XX:+PrintGCDateStamps
-Xloggc:/appl/gc.log 定義gc日志目錄
-XX:CMSInitiatingOccupancyFraction=75 是指設(shè)定CMS在對內(nèi)存占用率達到75%的時候開始GC(因為CMS會有浮動垃圾,所以一般都較早啟動GC);
-XX:+UseCMSInitiatingOccupancyOnly 只是用設(shè)定的回收閾值(上面指定的75%),如果不指定,JVM僅在第一次使用設(shè)定值,后續(xù)則自動調(diào)整
AJP是為 Tomcat 與 HTTP 服務(wù)器之間通信而定制的協(xié)議,能提供較高的通信速度和效率。如果tomcat前端放的是apache的時候,會使用到AJP這個連接器。由于我們公司前端是由nginx做的反向代理,因此不使用此連接器,因此需要注銷掉該連接器
<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
默認(rèn) Tomcat 是開啟了對war包的熱部署的。為了防止被植入木馬等惡意程序,因此我們要關(guān)閉自動部署。
修改實例:
<Host name="localhost" appBase="" unpackWARs="false" autoDeploy="false">
以上就是tomcat9 中怎么設(shè)置虛擬內(nèi)存 ,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。