2012-04-18 125 views
2

當我嘗試設置-Xmx1024m我收到消息:爲什麼我不能在eclipse.ini中將-Xmx設置爲1024m?

cannot create VM 

但我不久1500米免費的計算機上。怎麼可能? 謝謝。

+3

您可能有1500m空閒空間,但它可能過於分散,無法爲JVM分配一個1Gig的塊。 – mcfinnigan 2012-04-18 10:34:10

+0

我不認爲這是診斷。這只是最大的。你確定你知道如何編寫eclipse.ini嗎?你有-vmargs嗎? – 2012-04-18 11:12:46

+0

@MarkoTopolnik如果虛擬內存過於分散並且沒有連續的1 GB可用塊,則Java將在啓動時保留虛擬內存的連續空間,則Java將停止並出現錯誤 – 2012-04-18 11:27:26

回答

1

我相信這些評論是正確的關於內存空間太碎片分配一個足夠大的內存塊。

查看Eclipse bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=188968

碎片通常歸咎於加載到地址空間中間的windows dll。特別是,初始屏幕需要加載user32.dll,這反過來可以根據您的計算機上安裝的內容拉入第三方庫。

獲得更多內存的一種方法是讓JVM分入第二個進程而不是在eclipse進程中運行(這是默認設置)。這wiki page詳細介紹了eclipse.ini文件的-vm設置。您可以通過將-vm指向javaw.exe來強制vm在第二個進程中分叉。

這應該有所幫助,因爲在第二個進程中分叉jvm會在加載圖形dll以顯示啓動屏幕之前啓動vm。

相關問題