[英]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.