繁体   English   中英

JVM的系统范围内存限制

[英]system-wide memory limit for JVM's

我用8台Minecraft服务器运行一个arch linux服务器。 这台服务器有64GB的RAM。 不幸的是,我的内存耗尽,导致linux杀死进程。

如果我调整单个JVM的-xmx设置,我可以轻松保持在64GB以下,同时保持良好的性能。 但这并不理想,因为不同JVM的负载可能会有很大差异,具体取决于:

  • 一天中的时间(玩家的时区)
  • 球员数量
  • 设置
  • 情况

因此,例如,如果我将-xmx8G设置为所有服务器,这对于只有少数在线玩家的服务器来说太过分了,但对于来自繁忙时区并且正在创建新世界的服务器来说还不够。

理想情况下,我想为所有JVM设置一个64GB的限制。 这可能吗?

(不知道这是否相关:JVM是在不同用户下运行的。这很方便,但并不要求它保持这种状态)

任何提示表示赞赏!

不幸的是,Xmx的数量必须适合你的虚拟内存。

您可以添加一个巨大的交换空间来为您的进程获取更多虚拟内存。 我观察到,一旦从那里获得内存页面,进程往往会留在交换空间中。 一个小技巧是添加另一个与你的第一个相同大小的交换,并关闭第一个。 页面将交换回物理RAM。 将此添加为常规维护任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM