从 Java SE 6 开始,Sun 的 JVM 的默认最大堆大小是多少?

2022-01-16 00:00:00 jvm memory-management java

从 Java SE 6 开始,Sun 的 JVM 的默认最大堆大小是多少(即相当于设置 -Xmx)?

What is the default maximum heap size for Sun's JVM from Java SE 6 (i.e. equivalent to setting -Xmx)?

看起来像带有服务器级机器的 Java SE 5,是

Looks like for Java SE 5 with a server-class machine, it's

小于物理内存的 1/4 或 1GB.

Smaller of 1/4th of the physical memory or 1GB.

奖励问题:对于 IBM 的 JVM,您可以问它

Bonus question: Looks like for IBM's JVM you can ask it

java -verbose:sizes -version

你能同样问一下 Sun 的 JVM 吗?

Can you similarly ask Sun's JVM?

编辑:

我使用 Runtime.getRuntime().maxMemory 来确认 min(physical memory/4, 1G),在 Sun 文档.

I used Runtime.getRuntime().maxMemory to confirm min(physical memory/4, 1G), referenced in Sun documentation.

推荐答案

java 1.6.0_21 或更高版本,左右...

java 1.6.0_21 or later, or so...

$ java -XX:+PrintFlagsFinal -version 2>&1 | grep MaxHeapSize
uintx MaxHeapSize                         := 12660904960      {product}

看来 min(1G) 已被删除.

It looks like the min(1G) has been removed.

或者在 Windows 上使用 findstr

Or on Windows using findstr

C:>java -XX:+PrintFlagsFinal -version 2>&1 | findstr MaxHeapSize

相关文章