2011-08-19 183 views
1

是否有限制增加java中的最大堆大小?我想知道,只要物理內存可用,是否可以設置大堆大小。java堆設置中的最大堆大小的限制

例如,如果服務器有100G的RAM,那麼我可以設置最大堆在90G?我知道GC會暫停應用程序,但我只是好奇。

謝謝。

回答

3

對於32位JVM,硬限制爲4 GB,但實際的限制爲較低,至少如果您未運行64位操作系統,則必須留出一些空間用於非堆內存,例如JVM自己的地址空間(非java),所有線程的堆棧,體系結構/操作系統限制等等。一個64位的JVM沒有這樣的限制,所以你可以設置限制爲90 GB,但我不會推薦它,因爲你已經指出。

+0

你能否給我一個解釋你的答案的理由,因爲我對此不確定。 – rehan

+0

@rehan我的答覆的哪一部分是你不確定的? – jlliagre