AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

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

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

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

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

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

在什么時(shí)候使用并行GC

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

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

如何配置啟用并行GC

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

-XX:+UseParallelGC

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

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

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

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

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

-Xmx

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

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

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

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

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

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

-XX:YoungGenerationSizeIncrement-XX:TenuredGenerationSizeIncrement

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

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

-XX:AdaptiveSizeDecrementScaleFactor

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

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

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

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

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

-XX:MaxGCPauseMillis

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

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

-XX:GCTimeRatio

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

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

-XX:GCTimePercentage

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

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

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

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

3.其他參數(shù)

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

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

-XX:ParallelGCThreads

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

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

-XX:-UseAdaptiveSizePolicy

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

啟用:-XX:+UseAdaptiveSizePolicy關(guān)閉:-XX:-UseAdaptiveSizePolicy

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

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

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

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

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

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

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

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

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

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

總之

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

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

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

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

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

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 6月安卓手機(jī)性能榜:vivo/iQOO霸占旗艦排行榜前三

    2023年上半年已經(jīng)正式過去了,我們也迎來了安兔兔V10版本,在新的驍龍8Gen3和天璣9300發(fā)布之前,性能榜的榜單大體會(huì)以驍龍8Gen2和天璣9200+為主,至于那顆3.36GHz的驍龍8Gen2領(lǐng)先
  • 容量越大越不壞?24萬塊硬盤故障率報(bào)告公布 這些產(chǎn)品零故障

    8月5日消息,云存儲(chǔ)服務(wù)商Backblaze發(fā)布了最新的硬盤故障率報(bào)告,年故障率有所上升。Backblaze發(fā)布的硬盤季度統(tǒng)計(jì)數(shù)據(jù),其中包括故障率等重要方面。這些結(jié)
  • 一文搞定Java NIO,以及各種奇葩流

    大家好,我是哪吒。很多朋友問我,如何才能學(xué)好IO流,對各種流的概念,云里霧里的,不求甚解。用到的時(shí)候,現(xiàn)百度,功能雖然實(shí)現(xiàn)了,但是為什么用這個(gè)?不知道。更別說效率問題了~下次再遇到,
  • 破圈是B站頭上的緊箍咒

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之每年的暑期檔都少不了瞄準(zhǔn)追劇女孩們的古偶劇集,2021年有優(yōu)酷的《山河令》,2022年有愛奇藝的《蒼蘭訣》,今年卻輪到小破站抓住了追
  • 阿里大調(diào)整

    來源:產(chǎn)品劉有媒體報(bào)道稱,近期淘寶天貓集團(tuán)啟動(dòng)了近年來最大的人力制度改革,涉及員工績效、層級體系等多個(gè)核心事項(xiàng),目前已形成一個(gè)初步的&ldquo;征求意見版&rdquo;:1、取消P序列
  • 阿里瓴羊One推出背后,零售企業(yè)迎數(shù)字化新解

    作者:劉曠近年來隨著數(shù)字經(jīng)濟(jì)的高速發(fā)展,各式各樣的SaaS應(yīng)用服務(wù)更是層出不窮,但本質(zhì)上SaaS大多局限于單一業(yè)務(wù)流層面,對用戶核心關(guān)切的增長問題等則沒有提供更好的解法。在Saa
  • 三星折疊屏手機(jī)去年銷售近1000萬臺(tái) 今年目標(biāo)定為1500萬

    7月29日消息,三星率先發(fā)力可折疊手機(jī)市場,在全球市場已經(jīng)取得了非常亮眼的成績,接下來會(huì)進(jìn)一步鞏固和擴(kuò)大這一優(yōu)勢。三星在推出Galaxy Z Flip5和Galax
  • iQOO 11S新品發(fā)布會(huì)

    iQOO將在7月4日19:00舉行新品發(fā)布會(huì),推出杭州亞運(yùn)會(huì)電競賽事官方用機(jī)iQOO 11S。
  • 聯(lián)想YOGA 16s 2022筆記本將要推出,屏幕支持觸控功能

    聯(lián)想此前宣布,將于11月2日19:30召開聯(lián)想秋季輕薄新品發(fā)布會(huì),推出聯(lián)想 YOGA 16s 2022 筆記本等新品。官方稱,YOGA 16s 2022 筆記本將搭載 16 英寸屏幕,并且是一
Top