JDK6 和 7 的 JVM 默认分配内存 Xmx 是多大呢?一般你们都配多少呢?

2015-03-24 02:12:36 +08:00
 solomaster
新人求教……

-Xmx
我看JDK5的文档写的是The default value is 64MB.
JDK6和7写的是The default value is chosen at runtime based on system configuration.
旁边有个链接点进去看到写的:Smaller of 1/4th of the physical memory or 1GB.
意思是物理内存的1/4或者1GB?到底是多少呢?

一般生产环境你们配置的值怎么来呢?一般在什么地方配比较好呢?我用的tomcat。
5651 次点击
所在节点    问与答
3 条回复
Septembers
2015-03-24 02:57:34 +08:00
通常情况默认
sinsin
2015-03-24 08:37:05 +08:00
以前的JRE的确默认是64M的,所以才会建议一定要配置Xmx。
现在的版本怎样,其实把下面这东东放到实际不同的环境里运行一下最能直观看出。
```
public static void main(String[] args) {
java.lang.management.MemoryUsage usage = java.lang.management.ManagementFactory.getMemoryMXBean()
.getHeapMemoryUsage();
System.out.println("Max: " + usage.getMax());
System.out.println("Init: " + usage.getInit());
System.out.println("Committed: " + usage.getCommitted());
System.out.println("Used: " + usage.getUsed());
}
```
solomaster
2015-03-24 15:50:01 +08:00
@sinsin 恩。本机8G内存跑出来最大是1.7G,512的小V上跑出来121M。看来JDK7默认就是1/4了……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/178924

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX