我目前在SL4集羣上使用Sun的Java 1.6。在Linux上定義的默認JVM堆大小(SL4)
出於某種原因,1.6 JVM正在啓動與不可能大堆,而無法啓動:
java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
如果我與例如啓動它-Xmx1800M,那麼它工作正常。所以,我想知道默認堆大小的設置,更重要的是如何改變它?
該機器擁有8GB的物理內存,我相信Sun的服務器JVM應該默認啓動一半512M的內存,但顯然並非如此,因爲它試圖分配超過1800M。
編輯:我意識到它可以使用_JAVA_OPTIONS,但是這感覺有點笨拙;我期待在某處有一個屬性文件,但到目前爲止我一直無法找到它。
32或64位VM? VPS? 64位操作系統的權利?這有幫助嗎? http://forum.openvz.org/index.php?t=msg&goto=7057 – cletus 2009-10-30 12:06:34
> uname -a Linux eddie004 2.6.18-128.7.1.el5#1 SMP Mon Aug 24 08:12:52 EDT 2009 x86_64 x86_64的x86_64的GNU/Linux的 我得到同樣的行爲,有或沒有-d64(和-server): > Java虛擬機 的初始化過程中出現-d64 -version 誤差對象堆無法保留足夠的空間 無法創建Java虛擬機。 鏈接很好;我認爲這一定是因爲機器有8G的物理內存,但每個用戶只允許2G使用它,這會讓JVM產生與規範不同的行爲。 – 2009-10-30 12:14:47
對不起,該評論格式不正確。這是一個64位的操作系統,使用-d64並沒有什麼區別,服務器也沒有。 這可能與8G的機器有關,但限制用戶爲2G – 2009-10-30 13:08:36