簡體   English   中英

如何保證將特定GB分配為JVM的堆內存

[英]How to guarantee allotment of particular GB as off heap memory for a JVM

-Xmx10g保證JVM從OS獲取10G進程。 同樣,我想為我的off heap使用保證特定的內存量(比如說4g)。

如果我的機器的RAM是8GB,我的java進程的Xmx是2G。 現在,可能還有其他進程可能會占用一些內存。 所以,當我想啟動我的JVM時,我想指定我想在JVM中使用的關閉堆內存量。

-XX:MaxDirectMemorySize僅指定最大直接內存大小。

如何確保特定大小的堆外內存的保證可用性? 有沒有任何參數。

您對參數-Xmx10g理解不太正確。 它允許JVM向操作系統詢問其堆的最多10GB內存。 它不能保證JVM能夠獲得它。 實際上,如果您的系統沒有足夠的內存(物理和分頁),JVM將無法獲得它。

對於其他內存(除了堆),JVM會詢問它並在有足夠的時候獲取它。 但同樣,沒有保證,也沒有保證參數。

我建議將內存映射文件用於off heap,因為這些文件在處理提交的大小時更靈活。

在您的情況下,您可能需要一個啟動程序或腳本來選擇堆大小,除非您可以確定堆大小為2 GB,因為您已經確定這已經足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM