日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Java并行GC的使用和調(diào)優(yōu)

來源: 責編: 時間:2023-10-13 14:33:08 299觀看
導讀并行垃圾收集器(Parallel GC、并行GC)是在多核CPU環(huán)境下的一種JVM垃圾收集算法,它可以在多個線程內(nèi)并行執(zhí)行垃圾收集功能,從而減少長時間GC對應用系統(tǒng)造成的影響。下面主要介紹關于并行GC的使用和調(diào)優(yōu)相關內(nèi)容。在什么時

并行垃圾收集器(Parallel GC、并行GC)是在多核CPU環(huán)境下的一種JVM垃圾收集算法,它可以在多個線程內(nèi)并行執(zhí)行垃圾收集功能,從而減少長時間GC對應用系統(tǒng)造成的影響。FzV28資訊網(wǎng)——每日最新資訊28at.com

下面主要介紹關于并行GC的使用和調(diào)優(yōu)相關內(nèi)容。FzV28資訊網(wǎng)——每日最新資訊28at.com

FzV28資訊網(wǎng)——每日最新資訊28at.com

在什么時候使用并行GC

如果應用存在以下要求,那么就可以考慮使用Parallel GC:FzV28資訊網(wǎng)——每日最新資訊28at.com

  • 側重吞吐量:如果應用程序?qū)κ聞胀掏铝恳蠛芨撸⑶铱梢匀萑涕L時間執(zhí)行垃圾收集,那么并行GC可能就是一個合適的選擇。它主要通過允許垃圾收集與應用程序執(zhí)行同時執(zhí)行來優(yōu)化吞吐量。
  • 批量處理任務:應用程序如果涉及到批處理或者數(shù)據(jù)分析的任務,可以考慮使用并行GC。這些類型的應用程序經(jīng)常執(zhí)行大量的計算,并行GC有助于最小化垃圾收集過程對應用程序總體處理時間產(chǎn)生的影響。
  • 中等以上堆內(nèi)存:并行GC非常適合具有中等堆到較大堆的應用程序。如果應用程序需要大量堆來滿足其內(nèi)存需求,并行GC可以有效地管理內(nèi)存并減少垃圾收集對應用程序的影響。

如何配置啟用并行GC

可以在啟動Java應用程序時傳遞以下參數(shù),以啟動并行GC(Parallel GC):FzV28資訊網(wǎng)——每日最新資訊28at.com

-XX:+UseParallelGC

這個JVM參數(shù)指的是JVM使用并行GC算法進行垃圾收集。但需要注意的是,在Java 8之前的JVM版本,不需要顯式地指定垃圾收集算法,所有服務類JVM的默認垃圾收集器都是ParallelGC。FzV28資訊網(wǎng)——每日最新資訊28at.com

在Java 并行GC調(diào)優(yōu)方面,下面介紹幾個用于控制垃圾收集過程的關鍵JVM參數(shù)。包括:Heap和generation的大小參數(shù)、GC吞吐量相關參數(shù)、其他參數(shù)。FzV28資訊網(wǎng)——每日最新資訊28at.com

1.Heap和generation的大小參數(shù)  

并行GC的調(diào)優(yōu)涉及到整個堆的大小與年輕代和老代的大小之間的平衡。雖然較大的堆通常會提高吞吐量,但它也會導致執(zhí)行GC期間消耗更長的時間。因此,找到“堆”和“代”的最佳大小至關重要。下面這些JVM參數(shù)支持調(diào)整堆大小和生成大小,以實現(xiàn)最佳GC配置。FzV28資訊網(wǎng)——每日最新資訊28at.com

(1) -XmxFzV28資訊網(wǎng)——每日最新資訊28at.com

-Xmx

這個參數(shù)設置了最大堆大小,它設置了內(nèi)存分配的上限。通過仔細評估并選擇恰當?shù)?Xmx值,可以控制整個堆的大小使得應用程序的可用內(nèi)存和GC性能之間更加平衡。FzV28資訊網(wǎng)——每日最新資訊28at.com

(2) -XX:NewSize 、-XX:MaxNewSize、-XX:NewRatioFzV28資訊網(wǎng)——每日最新資訊28at.com

-XX:NewSize -XX:MaxNewSize-XX:NewRatio

這幾個參數(shù)決定了分配新對象的Young Generation的大小。-XX:NewSize設置初始大小,而-XX:MaxNewSize用于控制內(nèi)存上限,-XX:NewRatio用于配置年輕代和終身代之間的比率。通過這些值可以微調(diào)年輕代的大小和比例。FzV28資訊網(wǎng)——每日最新資訊28at.com

(3) -XX:YoungGenerationSizeIncrementFzV28資訊網(wǎng)——每日最新資訊28at.com

-XX:TenuredGenerationSizeIncrementFzV28資訊網(wǎng)——每日最新資訊28at.com

-XX:YoungGenerationSizeIncrement-XX:TenuredGenerationSizeIncrement

這兩個參數(shù)分別定義了年輕代和持久代的內(nèi)存增量大小。年輕代和持久代的大小增量是內(nèi)存分配和垃圾收集行為中的關鍵因素。增長和收縮是以不同的速度進行的。默認情況下以20%的增量增長,以5%的增量收縮。增長的百分比由參數(shù)-XX:YoungGeneratinotallow=<Y>和-XX:TenuredGeneratinotallow=<T>進行配置。FzV28資訊網(wǎng)——每日最新資訊28at.com

(4) -XX:AdaptiveSizeDecrementScaleFactorFzV28資訊網(wǎng)——每日最新資訊28at.com

-XX:AdaptiveSizeDecrementScaleFactor

這個參數(shù)用于設置在收縮期間遞減的比例因子。根據(jù)參數(shù)-XX:AdaptiveSizeDecrementScaleFactor=<D>調(diào)整收縮的比例。如果增長增量為X%,則收縮的減少量為X/D%。FzV28資訊網(wǎng)——每日最新資訊28at.com

FzV28資訊網(wǎng)——每日最新資訊28at.com

2.GC吞吐量相關的參數(shù)調(diào)優(yōu)

為了實現(xiàn)垃圾收集最佳性能,控制GC暫停時間和優(yōu)化GC吞吐量至關重要,GC吞吐量一般用“專門用于垃圾收集的時間量”與“應用程序執(zhí)行時間量”的比例表示。以下是幾個基于GC吞吐量的調(diào)優(yōu)參數(shù)。FzV28資訊網(wǎng)——每日最新資訊28at.com

(1) -XX:MaxGCPauseMillisFzV28資訊網(wǎng)——每日最新資訊28at.com

-XX:MaxGCPauseMillis

這個參數(shù)允許開發(fā)人員指定垃圾收集所需的最大暫停時間(以毫秒為單位)。通過設置一個適當?shù)闹担_發(fā)人員可以調(diào)節(jié)GC暫停的時長,確保在可接受的范圍內(nèi)。 FzV28資訊網(wǎng)——每日最新資訊28at.com

(2) -XX:GCTimeRatioFzV28資訊網(wǎng)——每日最新資訊28at.com

-XX:GCTimeRatio

這個參數(shù)使用公式1 /(1 + N)設置垃圾收集時間與應用程序時間的比率,其中N是正整數(shù)值。目的是定義垃圾收集所需的時間與應用程序執(zhí)行時間的占比,以優(yōu)化GC吞吐量。例如,-XX:GCTimeRatio=19。使用該配置的目標是將總應用程序執(zhí)行時間的1/20或5%分配給垃圾收集。這意味著對于每20個時間單位(毫秒),在垃圾收集和應用執(zhí)行總體時間的大約19毫秒中,大約有1個時間單位的時間將被分配給垃圾收集過程,而剩余的19個時間單位將專門用于應用的執(zhí)行。這個參數(shù)默認值為99,意味著垃圾收集的目標時間為1%。FzV28資訊網(wǎng)——每日最新資訊28at.com

(3) -XX:GCTimePercentageFzV28資訊網(wǎng)——每日最新資訊28at.com

-XX:GCTimePercentage

FzV28資訊網(wǎng)——每日最新資訊28at.com

這個參數(shù)更加直接,開發(fā)人員可以通過這個參數(shù)直接分配垃圾收集的時間與應用執(zhí)行時間的期望百分比(GC吞吐量)。例如:設置“-XX:GCTimePercentage=5”表示分配總時間的5%用于垃圾收集,剩余的95%用于應用程序執(zhí)行。 FzV28資訊網(wǎng)——每日最新資訊28at.com

總之,‘-XX:GCTimeRatio‘或‘-XX:GCTimePercentage‘這兩個參數(shù)都可以靈活地表示垃圾收集所需的時間。相比之下,使用“-XX:GCTimePercentage”比“-XX:GCTimeRatio”更加好理解。FzV28資訊網(wǎng)——每日最新資訊28at.com

FzV28資訊網(wǎng)——每日最新資訊28at.com

3.其他參數(shù)

 除前面幾個JVM參數(shù)之外,還有一些其他參數(shù)也可用于調(diào)優(yōu)并行GC算法的性能。FzV28資訊網(wǎng)——每日最新資訊28at.com

(1) -XX:ParallelGCThreadsFzV28資訊網(wǎng)——每日最新資訊28at.com

-XX:ParallelGCThreads

這個參數(shù)允許開發(fā)人員指定并行GC算法中用于垃圾收集的線程數(shù)。通過基于當前CPU可用的內(nèi)核數(shù)設置適當?shù)闹担浞掷枚嗪讼到y(tǒng)的處理能力來優(yōu)化吞吐量。線程太少或太多都不利于資源平衡,都可能導致性能不佳。FzV28資訊網(wǎng)——每日最新資訊28at.com

(2) -XX:-UseAdaptiveSizePolicyFzV28資訊網(wǎng)——每日最新資訊28at.com

-XX:-UseAdaptiveSizePolicy

這個參數(shù)允許根據(jù)應用程序?qū)?nèi)存的需求動態(tài)調(diào)整年輕代和老年代的大小。默認情況下,“UseAdaptiveSizePolicy”處于啟用狀態(tài)。FzV28資訊網(wǎng)——每日最新資訊28at.com

啟用:-XX:+UseAdaptiveSizePolicy關閉:-XX:-UseAdaptiveSizePolicy

FzV28資訊網(wǎng)——每日最新資訊28at.com

然而,默認情況下這個參數(shù)會根據(jù)應用程序?qū)?nèi)存的需求動態(tài)調(diào)整年輕代和老年代的大小。動態(tài)調(diào)整可能導致頻繁的“Full GC”,增加了GC時間。為了減少這類問題,我們可以通過設置-XX:-UseAdaptiveSizePolicy參數(shù)來禁用它,并減少GC時間。FzV28資訊網(wǎng)——每日最新資訊28at.com

FzV28資訊網(wǎng)——每日最新資訊28at.com

執(zhí)行并行GC調(diào)優(yōu)

如果需要了解并行GC的性能,最好的方式是通過分析GC日志。GC日志包含了垃圾收集事件、內(nèi)存使用情況以及其他相關的指標詳細信息。FzV28資訊網(wǎng)——每日最新資訊28at.com

FzV28資訊網(wǎng)——每日最新資訊28at.com

以下幾個工具可以幫助分析GC日志:FzV28資訊網(wǎng)——每日最新資訊28at.com

  • GCey
  • IBM GC
  • Memory Visualizer
  • HP Jmeter
  • Google Garbage Cat

通過使用這些工具,可以讓內(nèi)存的分配更加直觀,能夠識別潛在的瓶頸,并評估垃圾收集的效率。為并行GC的調(diào)優(yōu)提供依據(jù)。FzV28資訊網(wǎng)——每日最新資訊28at.com

FzV28資訊網(wǎng)——每日最新資訊28at.com

總之

通過調(diào)整堆的大小、代的大小和GC吞吐量相關參數(shù)等,可以優(yōu)化垃圾收集過程,最大限度地提高內(nèi)存利用率,最大限度地減少GC時長,提高Java應用程序的垃圾收集并效率,并釋放Java應用程序的潛力。另外,對應用程序執(zhí)行過程進行持續(xù)監(jiān)控、分析和優(yōu)化,是保持應用程序處于最佳性能的重要訣竅。FzV28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-13241-0.htmlJava并行GC的使用和調(diào)優(yōu)

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 十個提高VS Code工作效率的技巧

下一篇: 通過這個技術,瀏覽器可以運行Node.js、Rust、Python、PHP、C++、Java代碼了!

標簽:
  • 熱門焦點
  • 紅魔電競平板評測:大屏幕硬實力

    前言:三年的疫情因為要上網(wǎng)課的原因激活了平板市場,如今網(wǎng)課的時代已經(jīng)過去,大家的生活都恢復到了正軌,這也就意味著,真正考驗平板電腦生存的環(huán)境來了。也就是面對著這種殘酷的
  • 每天一道面試題-CPU偽共享

    前言:了不起:又到了每天一到面試題的時候了!學弟,最近學習的怎么樣啊 了不起學弟:最近學習的還不錯,每天都在學習,每天都在進步! 了不起:那你最近學習的什么呢? 了不起學弟:最近在學習C
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人員可能會涉及各種各樣的安全任務,包括但不限于:開發(fā)某些安全工具的插件,滿足自己特定的安全需求;自定義github搜索工具,快速查找所需的安全資料、漏洞poc、exp
  • 大廠卷向扁平化

    來源:新熵作者丨南枝 編輯丨月見大廠職級不香了。俗話說,兵無常勢,水無常形,互聯(lián)網(wǎng)企業(yè)調(diào)整職級體系并不稀奇。7月13日,淘寶天貓集團啟動了近年來最大的人力制度改革,目前已形成一
  • 當家的盒馬,加速謀生

    來源 | 價值星球Planet作者 | 歸去來自己&ldquo;當家&rdquo;的盒馬,開始加速謀生了。據(jù)盒馬官微消息,盒馬計劃今年開放生鮮供應鏈,將其生鮮商品送往食堂。目前,盒馬在上海已經(jīng)與
  • 四年持續(xù)更迭堅持探索行業(yè)無人之境,HarmonyOS 4帶來五大升級多項創(chuàng)新

    除了華為每年新發(fā)布的旗艦手機系列,上億花粉更加期待鴻蒙系統(tǒng)每次的跨版本大更新。8月4日,HarmonyOS 4于HDC 2023正式發(fā)布,這也是該系統(tǒng)歷經(jīng)四年的再
  • 聯(lián)想小新Pad Pro 12.6將要推出,搭載高通驍龍 870 處理器

    聯(lián)想小新Pad Pro 12.6將于秋季新品會上推出,官方按照慣例直接在發(fā)布會前給出了機型的所有參數(shù)。聯(lián)想小新 Pad Pro 12.6 將搭載高通驍龍 870 處理器,重量為 5
  • 電博會上海爾智家模擬500平大平層,還原生活空間沉浸式體驗

    電博會為了更好地讓參展觀眾真正感受到智能家居的絕妙之處,海爾智家的程傳嶺先生同樣介紹了展會上海爾智家的模擬500平大平層,還原生活空間沉浸式體驗。程傳
  • 外交部:美方應停止在網(wǎng)絡安全問題上不負責任地指責他國

      中國外交部今天(16日)舉行例行記者會。會上,有記者問,美國情報官員稱,他們正在阻攔來自中國以及其他國家的黑客獲取相關科研成果。 中方對此有何評論?對此
Top 主站蜘蛛池模板: 沾化县| 南京市| 宣武区| 深州市| 鱼台县| 乐至县| 寿宁县| 阜城县| 谷城县| 阳高县| 合江县| 永春县| 洪雅县| 阜阳市| 神农架林区| 获嘉县| 麟游县| 平山县| 青冈县| 丽水市| 建阳市| 德安县| 吉林省| 茂名市| 施秉县| 梁山县| 塘沽区| 平泉县| 柯坪县| 阜南县| 涞水县| 林芝县| 日照市| 沽源县| 河南省| 喜德县| 偏关县| 淮北市| 大悟县| 治多县| 双辽市|