簡體   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