问题描述
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.
额外问题:对于 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 or later, or so...
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
这篇关于从 Java SE 6 开始,Sun JVM 的默认最大堆大小是多少?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!