设置最大堆大小

大多数 JVM 都可以选择设置最大堆大小,例如

-Xmx64m
-Xmx8g

在 Java 1.0 到 1.2 中你可以使用

-mx64m

这在某些 JVM 上仍可用于向后兼容(例如 Oracle JVM)。

关于此设置存在一些常见的误解。

  • 它不设置堆大小,只设置最大值。-Xms 设置初始堆大小。
  • 它不会设置 JVM 将使用的内存量。虽然堆是一个重要的内存区域,但还有许多其他区域用于代码 Perm Gen / Metaspace,线程堆栈,GUI 组件,直接内存等。

运行时使用的内存量可以动态更改。