[分享] 在Paper1.14.x使用ZGC回收器

楼主: shdopeoplesn (虚度人参)   2019-07-01 22:13:03
前几天有某位服务器内的大佬玩家推荐,才知道有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还是稳定了不少。
以上,把这好物推荐给大家~
作者: Arbin (路人_Lv菜逼八)   2019-07-01 23:54:00
Java11是非常新的版本 就怕换了其他插件会有问题...^Java 11以上而且下一个LTS版本也还没出来(目前最新免费支援的LTS版本是Java 8)不是免费支援 是免费更新 我一直打错少打orz等等 我在白痴 AdoptOpenJDK可以用lol而且Java 11就是LTS R 我已经不知道我在干嘛了 抱歉=
作者: da21510 (da21510)   2019-07-02 06:44:00
ZGC不错1.14早期版本有机率crash1.14.2以后就不会了
作者: james58899   2019-07-04 21:17:00
Java8已经要停止免费支援了,最好更新到11不过因为java9的变更,用了黑魔法的东西可能会爆炸

Links booklink

Contact Us: admin [ a t ] ucptt.com