Linux JVM的系统范围内存限制';s
我运行一个带有8台Minecraft服务器的arch linux服务器。 此服务器有64GB的RAM。不幸的是,我的内存不足,导致linux终止进程 如果我调整单个JVM的-xmx设置,我可以轻松地保持在64GB以下,同时保持良好的性能。但这并不理想,因为不同JVM的负载可能会因以下因素而大不相同:Linux JVM的系统范围内存限制';s,linux,jvm,java,openjdk,Linux,Jvm,Java,Openjdk,我运行一个带有8台Minecraft服务器的arch linux服务器。 此服务器有64GB的RAM。不幸的是,我的内存不足,导致linux终止进程 如果我调整单个JVM的-xmx设置,我可以轻松地保持在64GB以下,同时保持良好的性能。但这并不理想,因为不同JVM的负载可能会因以下因素而大不相同: 一天中的时间(球员的时区) 球员人数 背景 环境 因此,例如,如果我将-xmx8G设置为所有服务器,这对于一个只有少数玩家在线的服务器来说太多了,但对于一个来自繁忙时区且当前正在生成新世界的服务
- 一天中的时间(球员的时区)
- 球员人数
- 背景
- 环境
任何提示都将不胜感激 不幸的是,Xmx的数量必须适合您的虚拟内存
您可以添加一个巨大的交换空间,为您的进程获得更多的虚拟内存。我观察到,一旦进程从交换空间获得内存页,它们往往会停留在交换空间中。一个小技巧是添加另一个与第一个相同大小的交换,然后关闭第一个交换。页面将交换回物理RAM。将此添加为常规维护任务。一旦启动jvm,就不能更改xmx设置。