maxThreads:Tomcat可創(chuàng)建的最大的線程數,每一個線程處理一個請求;minSpareThreads:最小備用線程數,tomcat啟動時的初始化的線程數;maxSpareThreads:最大備用線程數,一旦創(chuàng)建的線程超過這個值,Tomcat就會關閉不再需要的socket線程;所以maxThreads決定了tomcat的最大線程閥值,需要設置的大一些
Java虛擬機參數?-XX等相關參數應用
通常,我們?yōu)榱吮苊鈨却嬉绯龅葐栴},需要設置環(huán)境變量
JAVA_OPTS????-Xms256M?-Xmx512M?等,【對于服務器,一般都設置成一樣的】
但是有的時候可能這樣的設置還會不行(比如,當Server應用程序加載較多類時,即jvm加載類時,永久域中的對象急劇增加,從而使jvm不斷調整永久域大小,為了避免調整),你可以使用更多的參數配置,如:?java?-Xms512m?-Xmx512m?-XX:PermSize=64m?-XX:MaxPermSize=128m
其中,使用???-XX:MaxPerSize標志來增加永久域的大小,-XX:PerSize標志設置初始值
個人之見,歡迎指正:Xmx是java的一個選項,用來設置你的應用程序能夠使用的最大內存數(看好,致使你的應用程序,不是整個jvm),如果你的程序要花很大內存的話,那就需要修改缺省的設置,比如配置tomcat的時候,如果流量啊程序啊都很大的話就需要加大這個值了,不過有一點是要記住的,不要大得超過你的機器的內存,那樣你的機器會受不了的,到時候就死翹翹了。Xms是另一個設置內存的參數,用它來設置程序初始化的時候內存棧的大小,增加這個值的話你的程序的啟動性能會得到提高。不過同樣有前面的限制,以及受到xmx的限制。另外,一個操作系統(tǒng)通常都只使用jvm,這就是你說的“運行在同一個JVM中的程序”,不同的虛擬機的實現雖然千差萬別,但是他們的運行模式都是一樣的,只是性能有所不同罷了。
-XX
基于?Sun?的?Java?2?Standard?Edition(J2SE)5?有生成垃圾回收功能,這允許分隔內存池以包含不同時效的對象。垃圾回收循環(huán)根據時效收集與其他對象彼此獨立的對象。使用其他參數,您可以單獨設置內存池的?大小。為了實現更好的性能,您應該對包含短期存活對象的池的大小進行設置,以使該池中的對象的存活時間不會超過一個垃圾回收循環(huán)。新生成的池的大小由?NewSize?和?MaxNewSize?參數確定。
第一次垃圾回收循環(huán)中存活下來的對象轉移到另一個池中。生還者池的大小由參數?
SurvivorRatio
?確定。?如果垃圾回收變成了瓶頸,您可以嘗試定制生成池設置。要監(jiān)控垃圾回收統(tǒng)計信息,使用?Tivoli?Performance?Viewer?中的對象統(tǒng)計信息或?verbose:gc?配置設置。?輸入下列值:
-XX:NewSize?(lower?bound)
-XX:MaxNewSize?(upper?bound)
-XX:SurvivorRatio=NewRatioSize
?
-XX:NewSize?320m?此值設大可調大新對象區(qū),減少Full?GC次數
-XX:userParNewGC?可用來設置并行收集【多CPU】
-XX:ParallelGCThreads?可用來增加并行度【多CPU】
-XXUseParallelGC?設置后可以使用并行清除收集器【多CPU】
下面的命令把整個堆設置成128m,新域比率設置成3,即新域與舊域比例為1:3,新域為堆的1/4或32M:
java?–Xms128m?–Xmx128m?–XX:NewRatio?=3
缺省值為:NewSize=2m?MaxNewSize=32m?SurvivorRatio=2。但是,如果?JVM?的堆大小大于?1GB,則應該使用值:-XX:newSize=640m?-XX:MaxNewSize=640m?-XX:SurvivorRatio=16,或者將堆的總大小的?50%?到?60%?分配給新生成的池。
??????????舉例:永久域默認大小為4m。運行程序時,jvm會調整永久域的大小以滿足需要。每次調整時,jvm會對堆進行一次完全的垃圾收集。
???使用-XX:MaxPerSize標志來增加永久域的大小。在WebLogic?Server應用程序加載較多類時,經常需要增加永久域的最大值。當jvm加載類時,永久域中的對象急劇增加,從而使jvm不斷調整永久域大小。為了避免?調整,可使用-XX:PerSize標志設置初始值。
???下面把永久域初始值設置成32m,最大值設置成64m。
????java?-Xms512m?-Xmx512m?-Xmn128m?-XX:PermSize=32m?-XX:MaxPermSize=64m
默認狀態(tài)下,HotSpot在新域中使用復制收集器。該域一般分為三個部分。第一部分為Eden,用于生成新的對象。另兩部分稱為救助空間,當Eden充?滿時,收集器停止應用程序,把所有可到達對象復制到當前的from救助空間,一旦當前的from救助空間充滿,收集器則把可到達對象復制到當前的to救助?空間。From和to救助空間互換角色。維持活動的對象將在救助空間不斷復制,直到它們獲得使用期并轉入舊域。使用-XX:SurvivorRatio可?控制新域子空間的大小。
目前,我的的開發(fā)環(huán)境?2G內存,tomcat+eclipse?大型應用程序
java?-Xmx1024m?-XX:PermSize=512m???基本就ok大部分應用了
tomcat中的server.xml中線程參數:maxThreads,maxSpareThreads,這兩個參數的區(qū)別,哪個值更大?
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
