2010-12-04 76 views
3

我們使用Windows 2003服務器64位來運行WebSphere/J2EE應用程序(JVM也是64位)。該機器具有16GB物理內存。不幸的是,我們的應用程序需要大量內存,而且我們還需要一些時間來添加額外的內存。在Windows 64位平臺上可以安全使用的最大Java堆大小是多少?

我知道操作系統本身需要一定的內存。這就是說,假設這是系統上運行的唯一應用程序,那麼我們可以使用的最大堆大小會是安全的(沒有分頁?)?

回答

2

我認爲答案取決於很多因素,其中很多因素很難預測。

IMO,確定安全最大堆大小的最實際方法是通過試驗和錯誤。我會從大約15Gb的最大堆大小開始,查看系統的內存/分頁統計信息,並向上或向下調整。

0

最好的辦法是進行試驗...檢查第一個答案here ...這將幫助你......

它崩潰,你可以編寫一個批處理文件做實驗針對不同的堆大小,看看...

0

如果你有兩個記憶庫,例如由於您有兩個CPU,因此如果使用超過一半的內存,您可能會發現應用程序的性能顯着較慢。如果您使用大約3/4的內存組大小,您將從內存中獲得最佳性能。

使用更多內存可能會獲得更好的性能,但它不會按照您預期的方式進行擴展,並且GC時間會顯着增加。

相關問題