OpenJ9 高性能JAVA(主要说明我的世界用途)

  • 内容
  • 相关

官方:http://adoptopenjdk.net/

1.png

这里主要用于我的世界用途


在我的世界游戏实际测试中


以下是测试结果:
· 测试原版Oracle JVM,使用G1GC
o  启动时间:3:31
o  主菜单内存占用:7837 mb
o  进入世界时间:0:57
o  游戏内帧率:300- 310 FPS
o  游戏内内存占用: 8450 mb


· 测试Openj9,无任何附加JVM参数
o  启动时间:3:14
o  主菜单内存占用:4650 mb
o  进入世界时间:0:50
o  游戏内帧率:370 - 380 FPS
o  游戏内内存占用:5300 mb
可以看到内存占用比起我们平常用的Oracle JVM有大幅降低,FPS也有非常大的提升。



在我的世界服务器用途


普通JAVAH环境

2.png

在OpenJ9 环境

3.png

参数本体


java -server -Xmx最大内存M -Xms最小内存M -Xss512K -Xaggressive -Xalwaysclassgc [-XcompilationThreads4] -Xconmeter:dynamic [-Xgcpolicy:metronome] -Xshareclasses [-Xtune:virtualized] -jar 服务端核心.jar
参数解释


-server
服务器运行模式,为持久运行优化

-Xms
初始堆大小,一般是物理内存的1/64(<1GB),和-Xmx一样大可以节省一点CPU资源

-Xmx
最大堆大小,一般是物理内存的1/4(<1GB),不过MC服务端对于内存的要求挺高的,能用上的都用上吧

-Xss
每个线程的堆栈大小OpenJ9默认是1024KB,不过另一位服主的帖指出,对于MC,512KB足够了

-Xaggressive
更激进的性能优化,OpenJ9的文档指出它会在未来版本作为默认选项

-Xalwaysclassgc

始终在全局垃圾回收期间执行动态类卸载检查,减少内存占用

-XcompilationThreads4
指定JIT编译器使用的编译线程数,最高只能设到4,如果服务器物理核心不足4个,设置成物理核心的一半

-Xconmeter:dynamic
动态检测大对象区或小对象区域的使用情况

-Xgcpolicy:metronome
启用metronome垃圾收集器,可以让垃圾收集时的瞬卡更短暂。仅支持AIX(没人用这个开MC服吧)和Linux,Windows就不要加了。

-Xshareclasses
OpenJ9的高速类共享功能,减少内存占用与启动时间,适合多个JVM运行相似代码的环境,或定期重启JVM的环境,对于群组服非常有用。

-Xtune:virtualized

假如你的服务器运行在虚拟化环境中(例如阿里云、腾讯云等等),使用这一选项可以在空闲时减少OpenJ9 VM CPU消耗,有可能会略微提升性能与减少内存占用,不过代价是吞吐量的少量损失。实体机环境不要加! 

注意事项

1.此优化仅适用于OpenJ9
2.优化效果因环境差异可能会不同

下载地址 
本地下载 百度网盘 蓝奏网盘 迅乐网盘 
头像
描述: 一起用互联网帮助更多人

本文标签:

本文作者/发布者《江湖剑客》,转载请保留文章出处。

本文链接:OpenJ9 高性能JAVA(主要说明我的世界用途) - http://uziji.com/post-2198.html



发表评论(分享不易,且行且珍惜)

电子邮件地址不会被公开。 必填项已用*标注

评论

3条评论
  1. avatar

    wuxian Lv.2 Chrome 63.0.3239.132 Windows 7 x64 Edition 回复

    剑客大哥,不知道能不能帮忙宣传下粉丝的MC服务器

    1. 江湖剑客 Chrome 79.0.3945.16 Windows 回复

      回复了wuxian:看是否值得推荐,如果涉及商业需要购买广告的http://uziji.com/post-2093.html

    2. wuxian Lv.2 Chrome 63.0.3239.132 Windows 7 x64 Edition 回复

      回复了江湖剑客:嗯~一个自己开的模组生存服务器

大发云系统,一起用互联网帮助更多人