Linux 修改tomcat9相關參數優化


Linux下修改tomcat9 jvm內存大小:

一.修改配置

1 #要添加在tomcat 的bin 下catalina.sh 里添加
2 JAVA_OPTS="-Xms1024m -Xmx2048m -Xss2048K -XX:PermSize=128m -XX:MaxPermSize=256m"

二.參數說明

-Xms 初始化內存大小,一般設置為和Xmx一致,避免每次垃圾回收后重新分配內存
-Xmx 最大可用內存
-Xmn   年輕代大小
-Xss     設置每個線程棧的大小
-XX:MetaspaceSize=512M  初始元空間大小,達到該值就會觸發垃圾收集進行類型卸載,同時GC會對該值進行調整:如果釋放了大量的空間,就適當降低該值;如果釋放了很少的空間,那么在不超過MaxMetaspaceSize時,適當提高該值。
-XX:MaxMetaspaceSize=512M
-XX:+UseConcMarkSweepGC    並發標記清除(CMS)收集器
-XX:+CMSClassUnloadingEnabled  
-XX:+HeapDumpOnOutOfMemoryError  表示當JVM發生OOM時,自動生成DUMP文件。
-XX:HeapDumpPath=${目錄}參數表示生成DUMP文件的路徑,也可以指定文件名稱,例如:-XX:HeapDumpPath=${目錄}/java_heapdump.hprof。如果不指定文件名,默認為:java_<pid>_<date>_<time>_heapDump.hprof。

三.tomcat 相關參數優化

 1 連接數,線程數,緩存,修改server.xml 

         打開被注釋的默認連接池配置

 默認配置:

<!--  
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"  
maxThreads="150" minSpareThreads="4"/>  
-->  

修改實例:

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"  
         maxThreads="150" 
         minSpareThreads="100"   
         prestartminSpareThreads="true" 
         maxQueueSize="100"/> 

參數講解:

name: 線程名稱
namePrefix: 線程前綴
maxThreads : 最大並發連接數,不配置時默認200,一般建議設置500~ 800 ,要根據自己的硬件設施條件和實際業務需求而定。
minSpareThreads:Tomcat啟動初始化的線程數,默認值25   
prestartminSpareThreads:在tomcat初始化的時候就初始化minSpareThreads的值, 不設置trueminSpareThreads  的值就沒啥效果了 。
maxQueueSize: 最大的等待隊列數,超過則拒絕請求

修改配置:

<Connector port="8080" protocol="HTTP/1.1"
        connectionTimeout="20000"  
        redirectPort="8443"   
        executor="tomcatThreadPool"  
        enableLookups="false"   
        maxIdleTime="60000"
        acceptCount="100"   
        maxPostSize="10485760" 
        acceptorThreadCount="2"    
        disableUploadTimeout="true"   
        URIEncoding="utf-8"
        keepAliveTimeout ="6000"  
        maxKeppAliveRequests="500"   
      /> 

 參數講解:

 1 port:連接端口。  
 2 protocol:連接器使用的傳輸方式。  
 3 executor: 連接器使用的線程池名稱
 4 enableLookups:禁用DNS  查詢
 5 maxIdleTime:線程空閑時間,超過該時間后,空閑線程會被銷毀,默認值為6000(1分鍾),單位毫秒。
 6 acceptCount:指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理,默認設置 100 7 maxPostSize:限制 以FORM URL 參數方式的POST請求的內容大小,單位字節,默認是 2097152(2兆),10485760 為 10M。如果要禁用限制,則可以設置為 -1 8 acceptorThreadCount: 用於接收連接的線程的數量,默認值是1。一般這個指需要改動的時候是因為該服務器是一個多核CPU,如果是多核 CPU 一般配置為 2 9 disableUploadTimeOut:允許Servlet容器,正在執行使用一個較長的連接超時值,以使Servlet有較長的時間來完成它的執行,默認值為false
10 keepAliveTimeout - 表示在下次請求過來之前,tomcat保持該連接多久。這就是說假如客戶端不斷有請求過來,且未超過過期時間,則該連接將一直保持。
11 maxKeepAliveRequests -表示該連接最大支持的請求數。超過該請求數的連接也將被關閉(此時就會返回一個Connection: close頭給客戶端).(maxKeepAliveRequests="1"代表禁用長連接)(1表示禁用,-1表示不限制個數,默認100個。一般設置在100~200之間)

 

參考鏈接:https://blog.csdn.net/weixin_37377511/java/article/details/80606964

 


免責聲明!

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



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