JVM性能調優(yōu)解決方案.pdf

JVM性能調優(yōu)解決方案.pdf

ID:57527782

大小:618.71 KB

頁數(shù):12頁

時間:2020-08-26

JVM性能調優(yōu)解決方案.pdf_第1頁
JVM性能調優(yōu)解決方案.pdf_第2頁
JVM性能調優(yōu)解決方案.pdf_第3頁
JVM性能調優(yōu)解決方案.pdf_第4頁
JVM性能調優(yōu)解決方案.pdf_第5頁
資源描述:

《JVM性能調優(yōu)解決方案.pdf》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在工程資料-天天文庫。

1、精品文檔JVM性能調優(yōu)解決方案(總結)一、引言本文的讀者是技術支持人員。閱讀本文后,你將理解jboss的啟動腳本文件(run.sh)中有一系列的JVM配置參數(shù)的含義,以及如何調整它們,從而使得MegaEyes中心管理服務器的性能得到優(yōu)化。MegaEyes中心管理服務器的性能調優(yōu)涉及到系統(tǒng)的多個方面,包括MegaEyes應用本身、應用服務器(jboss)、數(shù)據(jù)庫和java虛擬機(JVM)等等。本文重點介紹JVM的性能優(yōu)化。需要注意的是,JVM性能調優(yōu)具有應用獨特性(applicationspecific

2、),就是說,不同的應用情形應該有不同的調整方案,這就要求你首先要觀察JVM的運行狀態(tài),然后根據(jù)觀察結果調整參數(shù)。沒有一個通用的調優(yōu)方案可以適用于所有的MegaEyes應用。什么是性能調優(yōu)對性能調優(yōu),不同的人有不同的理解,本文是指對下列指標最大化:?并發(fā)用戶(concurrentusers),在服務請求失敗或請求響應超過預期?時間之前,系統(tǒng)支持的最大并發(fā)用戶數(shù)量。?系統(tǒng)容量(throughput),可以用每秒處理的事務(transaction)數(shù)量?計算。?可靠性(reliability)?換句話說,我

3、們想對更多的用戶提供更快捷的、不會中斷的服務。JVM性能調優(yōu)的重點JVM的性能調優(yōu)的重點是垃圾回收(gc,garbagecollection)和內(nèi)存管理。垃圾回收的時候會導致整個虛擬機暫停服務,因此,應該盡可能地縮短垃圾回收的處理時間。JVM內(nèi)存JVM占用的內(nèi)存稱為堆(heap),它被分為三個區(qū):年輕(young,又稱為new)、老(tenured,又稱為old)和永生(perm)。這三個區(qū)是按照java對1歡迎下載。精品文檔象的生存期劃分的,在new區(qū)的對象生存期最短,很快就會被gc回收;perm區(qū)

4、的對象生存期最長,與JVM同生死。Perm區(qū)的對象不會被gc回收。new區(qū)又被分為三個部分:伊甸園(eden)和兩個幸存者(survivor)。對象的創(chuàng)建總是在eden部分(這大概就是命名該部分為eden的原因吧)。兩個survivor中總有一個是空的,它作為另一個survivor的緩沖區(qū)。當gc發(fā)生時,所有eden和survivor中活下來的對象被移動到另一個survivor中。對象會在兩個survivor之間不斷移動,直到活得足夠久,然后移動到old區(qū)。我們可以猜想,之所以如此劃分使用內(nèi)存,肯定是

5、為了縮短gc的執(zhí)行時間,提高gc的執(zhí)行效率。垃圾回收算法除了默認的垃圾回收算法外,JVM還提供了兩個:并行(parallel)和并發(fā)(concurrent),前者作用在new區(qū),后者作用在old區(qū)。兩者可以同時使用。并行算法會產(chǎn)生多個線程以提高執(zhí)行效率。當有多個cpu的時候,它會顯著縮短gc的工作時間。并發(fā)算法可以在JVM不中斷對應用的服務的情況下執(zhí)行(通常情況下,在gc工作的時候JVM停止對應用的服務)。二、性能參數(shù)參數(shù)含義說明-XmsHeap的最小尺寸-XmxHeap的最大尺寸作為一個通行的準則,

6、設置Xms和Xmx的尺寸一樣,以減少gc的次數(shù)。要將它們設置足夠大,否則就會產(chǎn)生outofmemory錯誤,但又不能設置過大,過大會增加gc的工作時間。-Xmnnew的尺寸-XX:PermSizePerm的最小尺寸-XX:MaxPermSizePerm的最大尺寸類似heap的設置,應該將perm設置為固定尺寸,即最大和最小尺寸一樣。-XX:SurvivorRatioNew區(qū)中eden與Survivor區(qū)的比值-XX:+UseParallelGC使用parallelgc2歡迎下載。精品文檔-XX:Par

7、allelGCThreadsParallelgc的線程個數(shù)與cpu個數(shù)相同,使得所有cpu都參與gc工作。JVM的參數(shù)主要由-X和-XX類型的選項組成,上邊列出了一些對內(nèi)存和gc的性能影響比較大的。三、性能參數(shù)調優(yōu)要調整參數(shù)首先要觀察它們。觀察JVM內(nèi)存和gc的工具很多,jdk本身也提供了一些,這些工具簡單、實用,而且不需要安裝。其中,最常用的是jps和jstat,前者用來查看JVM的進程id(pid),后者用這個pid作為參數(shù)來得到內(nèi)存和gc的狀態(tài),就是說,在執(zhí)行jstat之前必須用jps得到JVM

8、的pid。Jstat的例子::jstat-gcutil2130825010其中,21308是(運行jboss)的JVM的pid;250是采樣間隔,單位是毫秒,即250毫秒采集一次數(shù)據(jù);10是采樣次數(shù)。上述命令的執(zhí)行結果如下:S0S1EOPYGCYGCTFGCFGCTGCT0.000.0011.395.2913.573281.955327133.126135.0810.000.0011.395.2913.573281.955327133.126135.08

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。