什麼是最大堆運行大小爲上運行的Java進程Windows 10 64位,與64位JVM?我的機器有RAM的8 GB。我正在運行Java 8。 我試圖在巨大的圖上運行BFS以用於實驗目的。在運行BFS時,我正在監視在Java Visual VM中使用的堆大小。根據視覺VM堆利用率始終低於2000 MB,無論提供以下JVM的參數在Windows 10 64位運行64位JVM中使用Java進程的最大堆大小
-Xms2048m
-Xmx3072m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
我做了一些研究過互聯網,但無法找到相關的我使用的系統規範的任何具體的答案。在Windows 10 64位和64位JVM上,Java進程可以使用多於2 GB的內存嗎? As Guidelines for Java Heap sizing Windows XP/2008/7的限制爲2 GB。
謝謝 兄弟
這就是爲什麼技術文章應該總是有一個日期。我不知道這篇文章是過時還是錯誤,但無論如何,這對32位系統來說甚至是錯誤的。但無論如何,如果您在指定'-Xmx3072m'選項時啓動JVM,則它支持3GiB堆。如果它不超過2000MB,那麼你的應用程序根本不需要更多的RAM。 JVM應該做什麼,用虛擬對象填充堆以獲得更高的利用率? – Holger