後讀數已經問的問題關於這個主題和大量的谷歌搜索我仍然不能夠有-Xms選項JVM堆參數
我的問題是一個明確的說法:什麼是java -Xms=512m -Xmx=512m
和java -Xms=64m -Xmx=512m
之間的區別?
現在我有以下答案:
唯一的區別是,將我的應用程序的運行和內存分配的數量期間運行的垃圾收集的次數。我對嗎 ?
下面是我對這個答案的原因:使用的物理內存真的512M
啓動後
的-Xms
選項設置爲512m
不會導致我的申請。我想這與現代操作系統虛擬內存管理和懶惰頁面分配有關。 (我注意到,設置-Xms
到512M
或64M
不會在所有無論是在Linux頂部或通過在Windows任務管理器中報告的初始使用的內存更改)
有人可以幫助我瞭解這個Xms
的影響選項或指向我的鏈接,這將有助於我理解它?
在此先感謝
馬努
我知道。但是,「Java那時候分配的512m」究竟意味着什麼?這種內存似乎沒有得到有效分配,因爲我的512M字節系統能夠啓動幾個其他應用程序,而不需要交換和重複我只有幾兆字節被我的Java應用程序使用。 – 2009-07-08 14:43:24
爲什麼這是downvoted?除了最後一句可能正確也可能不正確之外,它在技術上是正確的。在一個高性能的世界中,讓java通過一個單獨的brk()分配所需的所有內存通常會更智能。在其他情況下,在使用內存時分配內存可能會更聰明。 – Fredrik 2009-07-08 14:59:54
我自己並沒有低調回答這個問題。關於你的評論,我有同樣的問題,比我問丹: 是否有任何「風險」或缺點將Xms值設置爲與Xmx相同的值? 謝謝 Manu – 2009-07-08 15:09:03