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

标签 java jvm memory-management

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

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

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

额外问题:对于 IBM 的 JVM,您似乎可以 ask it

java -verbose:sizes -version

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

编辑:

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

最佳答案

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

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

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

或者在 Windows 上使用 findstr

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

关于java - 从 Java SE 6 开始,Sun 的 JVM 的默认最大堆大小是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2915276/

相关文章:

iphone - iOS 应用程序崩溃偶尔崩溃 - 在屏幕显示或向下滚动时

java - 具有两个参数的方法,这两个参数都需要双重分派(dispatch)

java - Java中静态字段的确切含义是什么?

java - Java 函数的递归版本在第一次调用时比迭代慢,但在调用之后更快。为什么是这样?

Java - 它如何加载并找到正确的方法

ios - 释放一个可以为 [NSNull null] 或非 [NSNull null] 的对象

java - 在jboss 4.0.5上分离应用程序日志

java - addPlugInSingleRowFunction 将 Esper 版本从 5.3 升级到 8.3 时出现问题

java - 第二项 Activity 中的 Intent 问题

c - 调用 fopen 时的内存分配不明确