该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

相信很多人都知道,开服需要通过一个写着一串代码的启动脚本来启动服务器,启动客户端也同理,只是客户端帮你简化了这件事。现在就来教大家如何通过修改启动Java脚本来优化Minecraft客户/服务端。

以下是启动脚本

java -server -d64 -Xmx3550M -Xms3550M -Xss256k -XX:PermSize=256m -XX:MaxPermSize=256m -XX:NewSize=1024m -XX:MaxNewSize=1024m -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:+UseFastAccessorMethods -XX:+UseConcMarkSweepGC -XX:MaxGCPauseMillis=100 -XX:+CMSParallelRemarkEnabled -XX:ParallelGCThreads=20 -jar minecraft_server.1.8.jar nogui

参数说明

-server:一定要作为第一个参数,会使JVM启动速度变慢,但会显着提升JVM性能

-d64:强制使用64位JVM,如果不是64位系统和java请去掉

-Xmx3550m:设置JVM最大堆内存为3550M。

-Xms3550m:设置JVM初始堆内存为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。

-Xss128k:设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K。应当根据应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。需要注意的是:当这个值被设置的较大(例如>2MB)时将会在很大程度上降低系统的性能。

-Xmn2g:设置年轻代大小为2G。在整个堆内存大小确定的情况下,增大年轻代将会减小年老代,反之亦然。此值关系到JVM垃圾回收,对系统性能影响较大,官方推荐配置为整个堆大小的3/8。

-XX:NewSize=1024m:设置年轻代初始值为1024M。

-XX:MaxNewSize=1024m:设置年轻代最大值为1024M。

-XX:PermSize=256m:设置持久代初始值为256M。

-XX:MaxPermSize=256m:设置持久代最大值为256M。

-XX:NewRatio=4:设置年轻代(包括1个Eden和2个Survivor区)与年老代的比值。表示年轻代比年老代为1:4。

-XX:SurvivorRatio=4:设置年轻代中Eden区与Survivor区的比值。表示2个Survivor区(JVM堆内存年轻代中默认有2个大小相等的Survivor区)与1个Eden区的比值为2:4,即1个Survivor区占整个年轻代大小的1/6。

-XX:MaxTenuringThreshold=7:表示一个对象如果在Survivor区(救助空间)移动了7次还没有被垃圾回收就进入年老代。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代,对于需要大量常驻内存的应用,这样做可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象在年轻代存活时间,增加对象在年轻代被垃圾回收的概率,减少Full GC的频率,这样做可以在某种程度上提高服务稳定性。

GC(垃圾回收)参数

Sun HotSpot JVM 通常使用的 GC 算法是分代回收。即把对象按生命周期不同分为年轻代和年老代。新的对象会先生成在Young Area,在几次 GC 以后,如果没有收集到,就会逐渐升级到Tenured Area。

Sun JVM 默认的回收器称为 serial collector ,即串行回收,我们也可以使用多线程并发回收来提高效率。需要注意的是,在单核的机器上,使用默认的回收器可能会更好。

-XX:+UseParNewGC:为年轻代对象使用并发回收,会缩短年轻代对象的回收时间

-XX:+UseConcMarkSweepGC:为年老代使用并发回收

-XX:+UseParallelGC:该收集器和 UseConcMarkSweepGC 是互相排斥的,为新生代使用并行清除,年老代使用单线程Mark-Sweep-Compact的垃圾收集器。

补充说明

其中的几个参数LZ忘记收集了必要的资料,没记错应该是减少服务器崩溃的几率。以上参数设置好后可以减少服务器崩溃次数和从底层提高server的效率。

参数跟单核心性能没有关系,其中几个参数是受核心线程的影响 例如-XX:ParallelGCThreads=20 如果是双核4线程,可以写到4-10 就可以了,如果双核双线程值可以写为2-5,只要不是单核服务器,里面大部分参数都有效。

另外,因为服务器和客户端都是基于JVM运行的,所以以上参数适用于游戏客户端,如在启动器参数中设置。具体怎么做根据启动器类型的不同略有出入。LZ使用的是MCLauncherBN里面有参数设置栏,表示很方便。

当然还有server.properties 的可视区块设置和最大玩家数设置,这两个我没有多大感觉。

这些启动参数不仅适用于官方服务器端的启动,同样适用于任何基于JDK6.0以后的服务器端(基本都是)bukkit sipgot 还是官方服务器。

mc服务器优化mod,【教程】minecraft服务器优化教程 让你用低配置带更多人!相关推荐

  1. 我的世界修改服务器,【教程】minecraft服务器优化教程 让你用低配置带更多人!...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 相信很多人都知道,开服需要通过一个写着一串代码的启动脚本来启动服务器,启动客户端也同理,只是客户端帮你简化了这件事.现在就来教大家如何通过修改启动Java ...

  2. mcbbs 优化服务器,[教程] Minecraft 服务器优化教程--腐竹可以看看哦!

    声明:本教程转载自MCBBS,原作者:jiongjionger * 零 - 系统的选择 * (网页后台可以跳过本段)关于系统的选择,Linux类系统(Centos.Redhat等)固然高效.稳定,但选 ...

  3. 我的世界服务器优化mcbbs,[教程] Minecraft 服务器优化教程

    声明:本教程转载自MCBBS,原作者:jiongjionger * 零 - 系统的选择 * (网页后台可以跳过本段)关于系统的选择,Linux类系统(Centos.Redhat等)固然高效.稳定,但选 ...

  4. 【教程】如何在云服务器上架设可以加载mod的Minecraft服务器

    前言 留了一堆烂摊子还想着疫情结束后在学校处理完,没想到得知消息开学至少要到5月8号了--我看我们这届毕业生可以收拾收拾原地毕业算了,不过好在消息出的还不算是太晚,现在还有点时间来处理毕设和论文,其他 ...

  5. 饥荒怎么自动订阅服务器,饥荒Mod订阅及安装图文教程 两种途径都可以

    原标题:饥荒Mod订阅及安装图文教程 两种途径都可以 <饥荒>添加Mod可改变游戏玩法或是功能,使其更有趣味性,不过具体的安装步骤很多玩家还不知道,今天小编带来<饥荒>Mod订 ...

  6. 树莓派制作minecraft服务器,用树莓派搭建Minecraft服务器

    如果我们需要更轻量级,更省电,而且要一直在线的,朋友们随时可以上来玩的Minecraft服务器.下文介绍了如何用树莓派搭建低能耗的Minecraft服务器,你可以全天不间断地开着,每天的电费大概只要一 ...

  7. 树莓派制作minecraft服务器,用树莓派建立Minecraft服务器

    树莓派服务器剩余资源太多浪费了怎么办?作为Minecraft服务器是不错的办法. 在上一代的单核树莓派上,受到CPU和RAM的限制,在上面搭建的Minecraft服务器基本是不可能,曾经尝试搭建过一个 ...

  8. 我的世界服务器登陆用的邮箱,我的世界服务器登录教程 Minecraft服务器教程

    minecraft(我的世界或MC)是一款建筑类休闲游戏,主要以搭建建筑物和改造世界为乐趣,透过不同方块的组合与拼凑,轻而易举的就能制作出小木屋.城堡.城市甚至一个世界.那么问题来了:我的世界服务器应 ...

  9. 怎么在Linux搭建一个可以装mod的Minecraft服务器(我的世界)

    我的世界多人联机.协作是最有意思的玩法.那么怎么搭建一个可以装mod的我的世界服务器呢? 需要的软件及工具: 1,xshell和xftp(远程服务器连接与文件传输):官网下载 或者FinalShell ...

最新文章

  1. Git指南-Git-flow开发流程
  2. 个人博客多说评论系统的使用
  3. Java程序员必备 : Java反编译神器——“GUI” 资源分享
  4. 一个程序来比较cuda/c在GPU/CPU的运行效率
  5. 利用python画混淆矩阵
  6. pic10f220 c语言,PIC10F200 LED流水灯程序
  7. Codeforces Round #323 (Div. 1) B. Once Again... 暴力
  8. chrome同步_如何在Chrome中打开或关闭同步
  9. Some Notes About Design Pattern
  10. (转)浏览器兼容的JS写法总结
  11. python打开xml文件报错:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xb7 in position 58: illegal multi
  12. 测试运维该学些什么?怎么入门,怎么进阶?
  13. 观察者模式(发布--订阅模式)
  14. python requests网页爬取初探
  15. R_地图上的迷你直方图
  16. 操作系统课程设计 Kernel编译和WinDbg启动 批处理文件
  17. 计算机视觉有哪些商业用途​
  18. 阿里巴巴Java开发手册代码规范
  19. Thinkphp响应式第三四方聚合支付平台源码
  20. 微信 android 点赞,朋友圈点赞生成器安卓-微信朋友圈点赞生成器2020安卓最新版app预约 v1.0-优盘手机站...

热门文章

  1. 我的世界java白天_我的世界怎么设置游戏内的时间为白天
  2. 使用itext创建PDF模板
  3. 国产化直播系统建设方案
  4. python音乐下载_python 音乐下载演示源代码
  5. android 页面边框设置
  6. 计算机交互媒体应用范围,浅析交互媒体设计中的科技与艺术的关系
  7. nginx 反向代理 ElasticSearch es
  8. 人工智能工具推荐:采集图片神器——后羿采集器
  9. qt模拟键盘的三种实现方式(思路+demo)
  10. 特斯拉被曝低级漏洞:用树莓派DIY车钥匙,开锁仅需90秒