我的世界怎么分配内存?
我的世界中,内存分配的相关设置都在游戏的配置文件里,一般情况是.minecraft/versions/[version]/bin/mcp。以我的经验来说,一般的配置中只需要修改两个东西,一个叫memory,另一个叫opaque。这两个都是java的系统属性,在游戏运行的时候有默认值,我们只要根据具体情况来调整就好。
对于大多数玩家来讲,内存分配的主要问题就是防止游戏在加载大地图的时候崩溃。而这个问题主要是由JVM(Java虚拟机)的堆设置不当引起的。一般来说,JVM的堆设置成机器内存的80%比较合适(当然,这个比例可以根据实际情况进行调整,我这里只是给出一个大概的值而已)。如果还是出现out of memory的情况,那就把堆再扩大1倍或者2倍。但需要注意的是,Java的堆越大,垃圾收集的性能就越差,所以我们需要权衡一下,看看到底是内存不足导致的性能差,还是垃圾收集过于频繁导致的性能差。可以通过监控JVM的堆内存和GC的频率,来判断需要设置的值到底是多少。
至于mcp文件中其他的参数,可以保持默认。有些参数的具体意义可以参考jini documentation,不过这些参数对于大多数玩家来讲并没有很大的用处。 对于服务器而言,最好能把每个服务器的内存使用情况监控起来,这样可以做到心中有数。
另外,现在我的世界中有很多版本,比如实验性版本、beta版等等。这些版本虽然大同小异,但是所支持的硬件平台和java版本略有区别。如果在使用新版本时出现问题,可以尝试降级到旧版本。