解析Linux體系中JVM內存2GB下限的詳解。本站提示廣大學習愛好者:(解析Linux體系中JVM內存2GB下限的詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是解析Linux體系中JVM內存2GB下限的詳解正文
我們平日應用的JVM都是32位的(64位的JVM會喪失10-20%的機能,平日不建議應用),而32位法式的尋址空間應當是4GB才對,為何Linux上的JVM內存只能應用2GB呢?
經由和JDK研發組的人員溝通,終究弄清晰了一些相干的緣由。這個成績存在於晚期的一些Linux版本中,特殊是內核2.5之前的版本,2.6今後的版本就根本上沒有這個成績了。本來這些Linux版本對過程有個對內存2GB的限制,是一個地址持續的內存塊年夜小的下限,而JVM的堆空間(heap size)須要持續的地址空間,是以,2GB就是java過程的實際應用的內存下限。
假如java運用須要應用較年夜的內存,建議應用較新版本的linux,或許修正Linux的運用/內核內存比設置裝備擺設為3GB:1GB。還有就是選擇如Solaris等的UNIX操作體系。象Solaris如許的操作體系,在JVM內存治理上沒有2GB的限制,是以可以把heap size設置到3.5-3.6GB閣下。