当前位置:首页 > CN2资讯 > 正文内容

我的世界服务器java内存设置 我的世界服务器jvm参数

2天前CN2资讯


入门级别的配置一般是:java -server -Xmx5000m Xms5000m

服务器端的jvm运行程序记得都最好加上 -server 很多默认参数都会根据这个运行模式来优化。这里设置了最大内存和最小内存,一般都是配置成相同的,可以减少内存申请和伸缩带来的性能损耗

加入垃圾回收算法的配置:java -server -Xmx5000m -Xms5000m -XX: UseConcMarkSweepGC -XX: UseParNewGC

关于垃圾回收的具体算法介绍我这里就不详细描述了,我们都有一个常识,就是尽量减少JVM的full gc的次数和时间,因为full gc 会导致整个系统的暂停(stop the world).为此,我们为老年代选择了UseConcMarkSweepGC 选择了并发gc算法,也为新生代选择了多线程的并行gc算法UseParNewGC。

设置新生代的内存大小 java -server -Xmx5000m -Xms5000m -Xmn800m -XX: UseConcMarkSweepGC -XX: UseParNewGC

Xmn是新生代的内存大小,包括(eden 2 survivor space)。这个参数设置直接影响系统的响应速度。在java程序中new一个对象,首先是放在eden区域,eden满了后,触发gc,存活下来的对象被拷贝到survivor区。经过若干次yong gc后,如果依然存活下来,就会进入老年代。新生代设置大了,会导致一次yong gc的时间消耗大,设置小了,又会很快满了,导致yong gc的频率过高。新生代不宜设置过大,因为新生代大了,老年代的内存就小了,老年代内存小,会导致full gc发生的频率变大。Xmn也没有一个确切的算法,根据你自身的业务系统决定的。我在设置的游戏服务器的时候,一般采用模拟大量并发用户的行为,调整Xmn的大小,同时监控gc的时间和频率,选择一个合适的大小。下面我会提到怎么用工具来监控gc。

设置一些额外的高级参数 java -server -Xmx5000m -Xms5000m -Xmn800m -XX: UseConcMarkSweepGC -XX: UseParNewGC -XX: UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70

使用CMS进行老年代gc,会容易导致一些内存碎片,导致内存利用率降低,为此,加入 UseCMSCompactAtFullCollection 可以保证在full gc时进行内存压缩,减少内存碎片,系统默认为开启true。CMSInitiatingOccupancyFraction=70 表示老年代内存达到70%时触发。这个参数要特别小心,默认为68%,设置得过小会导致full gc没有完成,yong gc的对象迁移过来,导致整个老年代内存都满了

5.-XX: UseCompressedOops JVM优化之压缩普通对象指针(CompressedOops),通常64位JVM消耗的内存会比32位的大1.5倍,这是因为对象指针在64位架构下,长度会翻倍(更宽的寻址)。对于那些将要从32位平台移植到64位的应用来说,平白无辜多了1/2的内存占用,这是开发者不愿意看到的。系统默认为开启true。 6.-XX: PrintCommandLineFlags。这个参数的作用是显示出VM初始化完毕后所有跟最初的默认值不同的参数及它们的值。 7.-XX: PrintFlagsFinal。前一个参数只显示跟默认值不同的,而这个参数则可以显示所有可设置的参数及它们的值。 8.-XX: PrintFlagsInitial。这个参数显示在处理参数之前所有可设置的参数及它们的值 $ java -version java version "1.6.0_29" Java(TM) SE Runtime Environment (build 1.6.0_29-b11) Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode) $ java -XX: PrintFlagsInitial | grep UseCompressedOops bool UseCompressedOops = false {lp64_product} $ java -XX: PrintFlagsFinal | grep UseCompressedOops bool UseCompressedOops := true {lp64_product} 查看默认值的方式统一为 java -server -Xmx1024m -Xms1024m -XX: UseConcMarkSweepGC -XX: PrintFlagsFinal -version| grep ParallelGCThreads JVM默认垃圾回收策略, 针对年轻代: UseParallelGC true(默认) UseParNewGC false UseSerialGC false -XX: UseParallelGC:选择垃圾收集器为并行收集器。此配置仅对年轻代有效。可以同时并行多个垃圾收集线程,但此时用户线程必须停止。 -XX: UseParNewGC:设置年轻代为多线程收集。可与CMS收集同时使用。在serial基础上实现的多线程收集器。针对年老代:UseParallelOldGC true(默认) UseConcMarkSweepGC false -XX:-UseConcMarkSweepGC 对老生代采用并发标记交换算法进行GC -XX: UseParallelOldGC:配置年老代垃圾收集方式为并行收集。当-XX:-UseParallelGC启用时该项自动启用
    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/22099.html

    分享给朋友:

    “我的世界服务器java内存设置 我的世界服务器jvm参数” 的相关文章

    CN2网络架构概述:探索下一代互联网的基石

    本文将为您详细解析CN2网络架构的核心理念、技术优势及其在现代互联网中的重要地位。通过分两部分的深入探讨,我们将带您领略CN2网络架构如何重塑数字时代的通信格局,并展望其在未来发展中的无限可能。CN2网络架构、下一代互联网、网络性能、网络稳定性、高速传输CN2网络架构的核心理念与技术优势随着互联网的...

    探索VPS论坛:获取信息与技术交流的最佳平台

    在当今的数字时代,VPS(虚拟专用服务器)论坛扮演着一个重要的角色。作为技术爱好者和学习者交流的平台,这些论坛不仅提供了丰富的信息资源,还促成了用户之间的互动。我最喜欢的就是能在这样的社区中找到志同道合的朋友,讨论各种技术问题和经验。 VPS论坛的定义和特点非常明确。它们通常是一个集中讨论虚拟专用服...

    如何使用RackNerd优惠码进行主机购买:节省开支的最佳策略

    RackNerd是一家成立于2017年的国外主机公司,作为一家新生力量,它迅速在市场上占据了一席之地。它的使命是为全球用户提供可靠且高性能的主机服务,帮助他们搭建自己的网络基础设施。我最喜欢RackNerd的地方是他们始终如一地致力于客户体验,这让我在使用他们的服务时非常安心。 RackNerd的服...

    Virmach虚拟主机评测:高性价比VPS服务推荐

    大家好,今天我想和你聊一聊Virmach,这是一家我非常推荐的虚拟主机提供商。Virmach专注于提供VPS(虚拟专用服务器)服务,近年来逐渐在行业中赢得了一席之地。它的价格相对亲民,而服务质量与稳定性也让人感到满意。很多人选择它,主要是因为它不仅适合个人用户,也非常受中小企业欢迎。 Virmach...

    DirectAdmin安装全攻略:快速安装与配置指南

    DirectAdmin是一款由国外开发的虚拟主机管理系统。我第一次接触它时,就被其强大的功能和用户友好的界面所吸引。它不仅可以管理服务器,还能帮助我轻松设置EMAIL、DNS、FTP等。这种集中管理的方式大大提高了我的工作效率,尤其是对那些需要频繁处理服务器配置的用户来说,DirectAdmin无疑...

    无限流量VPS:完美解决高流量需求的虚拟专用服务器方案

    大家好,今天我们来聊聊无限流量VPS,这个在市场上越来越受欢迎的虚拟专用服务器选项。无限流量VPS是指用户在支付固定的月租或年租费用后,能够无后顾之忧地使用数据流量。这样的服务到底有什么神奇之处,为什么越来越多的人选择它,我带你一起看看。 说到无限流量VPS,它的核心在于“无限流量”。想象一下,你的...