小编use*_*408的帖子

如何计算Oracle Java 7 JVM的默认最大堆大小?

根据GC人体工程学,默认的最大堆大小应为"物理内存的1/4或1GB".

阅读我希望在96GB ram的服务器级机器上使用jvm,默认最大堆大小1GB(96GB/4 = 24GB或1GB).

但是,当我编译并运行以下代码时,它会写出来21463(即约21GB).

public class Main{
        public static void main(String[] args) {
                System.out.println(Runtime.getRuntime().maxMemory() / 1024 / 1024);
        }
}
Run Code Online (Sandbox Code Playgroud)

如果重要:java -version生产

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
Run Code Online (Sandbox Code Playgroud)

总而言之,如果我正确阅读文档,默认的最大堆大小应该不大于1GB,但实际上它大约是服务器内存的1/4.怎么会?

java jvm

3
推荐指数
1
解决办法
7769
查看次数

标签 统计

java ×1

jvm ×1