設定最大堆大小

大多數 JVM 都可以選擇設定最大堆大小,例如

-Xmx64m
-Xmx8g

在 Java 1.0 到 1.2 中你可以使用

-mx64m

這在某些 JVM 上仍可用於向後相容(例如 Oracle JVM)。

關於此設定存在一些常見的誤解。

  • 它不設定堆大小,只設定最大值。-Xms 設定初始堆大小。
  • 它不會設定 JVM 將使用的記憶體量。雖然堆是一個重要的記憶體區域,但還有許多其他區域用於程式碼 Perm Gen / Metaspace,執行緒堆疊,GUI 元件,直接記憶體等。

執行時使用的記憶體量可以動態更改。