V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
solomaster
V2EX  ›  问与答

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

  •  
  •   solomaster · 2015-03-24 02:12:36 +08:00 · 5651 次点击
    这是一个创建于 3524 天前的主题,其中的信息可能已经有所发展或是发生改变。
    新人求教……

    -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。
    3 条回复
    Septembers
        1
    Septembers  
       2015-03-24 02:57:34 +08:00   ❤️ 1
    通常情况默认
    sinsin
        2
    sinsin  
       2015-03-24 08:37:05 +08:00   ❤️ 1
    以前的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
        3
    solomaster  
    OP
       2015-03-24 15:50:01 +08:00
    @sinsin 恩。本机8G内存跑出来最大是1.7G,512的小V上跑出来121M。看来JDK7默认就是1/4了……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5796 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 06:21 · PVG 14:21 · LAX 22:21 · JFK 01:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.