作者shdopeoplesn (虛度人蔘)
看板Minecraft
標題[分享] 在Paper1.14.x使用ZGC回收器
時間Mon Jul 1 22:13:03 2019
前幾天有某位伺服器內的大佬玩家推薦,才知道有ZGC這東西,
因為我對java開發及GC的機制一知半解,就不獻醜探討理論上的細節,
純粹分享資料以及實際應用在麥塊伺服器上的效果。
首先關於zgc的效能部份可以參考這份文件
http://cr.openjdk.java.net/~pliden/slides/ZGC-FOSDEM-2018.pdf
從文件的第6頁得知ZGC的停頓時間可以壓在10ms下,
而在第12頁中與G1GC比較的圖表,更能表現出他的效率之快。
(怕有版權問題就不截圖了,G1GC約在200~800ms之間浮動,資料越大停頓越久。)
要啟動ZGC的方法很簡單,只要是在Linux的環境且JAVA的版本在11以上,
然後於啟動伺服器的參數中加入
-XX:+UnlockExperimentalVMOptions -XX:+UseZGC
就可以運作了。
更多關於ZGC的資料可以參考OpenJDK的Wiki
https://wiki.openjdk.java.net/display/zgc/Main
最後這是我幾周前用G1GC的Timing,
https://timings.aikar.co/?id=489d8729e6db4ac0b9e1a4b9fc9f3337
https://i.imgur.com/6JUK5DV.png
啟動參數
-server -Xms15G -Xmx15G -XX:+UseG1GC -XX:ParallelGCThreads=12
-XX:+UseLargePages
然後是換成ZGC後的TIming
https://timings.aikar.co/?id=20788f4069cb4ac09785bc6e5c2d6d04
https://i.imgur.com/1dvw8sB.png
啟動參數
-server -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xmx15G
雖然前後有升級過PaperMC的版本,且Timing沒有蒐集GC回收時間的細節,
不算嚴謹的實驗,但整體而言TPS還是穩定了不少。
以上,把這好物推薦給大家~
--
我老婆1
http://i.imgur.com/OJHzCls.jpg
我老婆2
http://i.imgur.com/glGrzYI.png
我老婆3
http://i.imgur.com/jZ3qCiH.jpg
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.193.220 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Minecraft/M.1561990416.A.FFC.html
推 Arbin: Java11是非常新的版本 就怕換了其他插件會有問題... 07/01 23:54
→ Arbin: ^Java 11以上 07/01 23:55
→ Arbin: 而且下一個LTS版本也還沒出來 07/01 23:55
→ Arbin: (目前最新免費支援的LTS版本是Java 8) 07/01 23:56
→ Arbin: 不是免費支援 是免費更新 我一直打錯少打orz 07/01 23:56
→ Arbin: 等等 我在白癡 AdoptOpenJDK可以用lol 07/01 23:57
→ Arbin: 而且Java 11就是LTS R 我已經不知道我在幹嘛了 抱歉= 07/01 23:58
推 da21510: ZGC不錯 07/02 06:44
→ da21510: 1.14早期版本有機率crash 07/02 06:44
→ da21510: 1.14.2以後就不會了 07/02 06:44
→ james58899: Java8已經要停止免費支援了,最好更新到11 07/04 21:17
→ james58899: 不過因為java9的變更,用了黑魔法的東西可能會爆炸 07/04 21:18