日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

JVM GC性能方面的考虑(吞吐量和STW)

發(fā)布時(shí)間:2025/1/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JVM GC性能方面的考虑(吞吐量和STW) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

GC性能方面的考慮

? 對(duì)于GC的性能主要有2個(gè)方面的指標(biāo):吞吐量throughput(工作時(shí)間不算gc的時(shí)間占總的時(shí)間比)和暫停pause(gc發(fā)生時(shí)app對(duì)外顯示的無(wú)法響應(yīng))。

  • Total Heap
  • ? 默認(rèn)情況下,vm會(huì)增加/減少heap大小以維持free space在整個(gè)vm中占的比例,這個(gè)比例由MinHeapFreeRatio和MaxHeapFreeRatio指定。

    一般而言,server端的app會(huì)有以下規(guī)則:

    • 對(duì)vm分配盡可能多的memory;
    • 將Xms和Xmx設(shè)為一樣的值。如果虛擬機(jī)啟動(dòng)時(shí)設(shè)置使用的內(nèi)存比較小,這個(gè)時(shí)候又需要初始化很多對(duì)象,虛擬機(jī)就必須重復(fù)地增加內(nèi)存。
    • 處理器核數(shù)增加,內(nèi)存也跟著增大。
  • The Young Generation
  • ? 另外一個(gè)對(duì)于app流暢性運(yùn)行影響的因素是young generation的大小。young generation越大,minor collection越少;但是在固定heap size情況下,更大的young generation就意味著小的tenured generation,就意味著更多的major collection(major collection會(huì)引發(fā)minor collection)。

    ? NewRatio反映的是young和tenured generation的大小比例。NewSize和MaxNewSize反映的是young generation大小的下限和上限,將這兩個(gè)值設(shè)為一樣就固定了young generation的大小(同Xms和Xmx設(shè)為一樣)。

    ? 如果希望,SurvivorRatio也可以?xún)?yōu)化survivor的大小,不過(guò)這對(duì)于性能的影響不是很大。SurvivorRatio是eden和survior大小比例。

    一般而言,server端的app會(huì)有以下規(guī)則:

    • 首先決定能分配給vm的最大的heap size,然后設(shè)定最佳的young generation的大小;
    • 如果heap size固定后,增加young generation的大小意味著減小tenured generation大小。讓tenured generation在任何時(shí)候夠大,能夠容納所有l(wèi)ive的data(留10%-20%的空余)。

    總結(jié)

    以上是生活随笔為你收集整理的JVM GC性能方面的考虑(吞吐量和STW)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。