从 Java SE 6 开始,Sun 的 JVM 的默认最大堆大小是多少?
从 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
相关文章