要在Tomcat上部署一个耗内存的应用。记得以前在Linux上都是设-Xmx2048,windows上似乎不行。
测了一下,SUN jdk 1.6.0_05最大在我的机器上是1446M,IBM J9 VM 1.5.0在我的机器上是1812M。
想问问大家的机器上java最大能到多少?兼做个调查。
测试方法就是java -Xmx####M -version命令,####代表内存数,如果能正确打印出版本信息就算支持那么多内存。凡回答具体数字着均给分(也可以看做散分啦)。C:\Program Files\Java\jre1.6.0_05\bin>java -Xmx1446M -version
java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode)      //没有测Server状态C:\Program Files\IBM\Java50\bin>java -Xmx1812M -version
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build pwi32dev-20070511 (SR5))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223-20070426 (JIT enabled)
J9VM - 20070420_12448_lHdSMR
JIT  - 20070419_1806_r8
GC   - 200704_19)
JCL  - 20070511btw: 技术区发帖是不是最多只能给100分?(这个问题不给分)

解决方案 »

  1.   

    JDK1.5.10
    最大内存1440MB
    机器的内存为1.5GB
      

  2.   

    C:\Documents and Settings\new>java -Xmx1447M -version
    Error occurred during initialization of VM
    Could not reserve enough space for object heap
    Could not create the Java virtual machine.C:\Documents and Settings\new>java -Xmx1446M -version
    java version "1.6.0_03"
    Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
    Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode)机器内存1280M
      

  3.   

    C:\Documents and Settings\adair>java -Xmx1447M -version
    Error occurred during initialization of VM
    Could not reserve enough space for object heap
    Could not create the Java virtual machine.C:\Documents and Settings\adair>java -Xmx1024M -version
    java version "1.5.0_06"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
    Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)1447不行】
    1024可以
    机子内存1024
      

  4.   

    参考这个 http://www.java2000.net/viewthread.jsp?tid=118以前有人问过。
      

  5.   

    RAM: 2048m
    OS:  Vista
    在 1592m 上下浮动。
      

  6.   

    不同的系统不同的JVM最大都支持都不同
      

  7.   

    刚刚研究过这个问题,在不同的系统下,不同的JVM版本都不一样。
    http://www.baizeju.com/html/Java/200806/04-10.html专门为这个问题问过国外的工程师,他们说64位OS下(他们用Suse Linux和Solaris),内存没有限制。不过我自己还没有试过。
      

  8.   

    java version "1.6.0"
    Java<TM> SE Runtime Environment <build 1.6.0-b105>
    Java HotSpot<TM> Client VM <build 1.6.0-b105,mixed mode>我内存就一个G·····
      

  9.   

    Windows下可以去到1610
    C:\Documents and Settings\Administrator>java -Xmx1610M -version
    java version "1.5.0_10"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_10-b03)
    Java HotSpot(TM) Client VM (build 1.5.0_10-b03, mixed mode)Linux 无止境:
    [root@localhost ~]# java -Xmx100000M -version 
    java version "1.6.0_06"
    Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
    Java HotSpot(TM) 64-Bit Server VM (build 10.0-b22, mixed mode)
      

  10.   

    IE中我们的最大测试结果是512MB
      

  11.   

    java -Xmx1446M -version
    java version "1.6.0_05"
    Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
    Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode)我笔记本最多也是1446M,1447就不行了配置为VAIO V505CP,1G内存
      

  12.   

    D:\>java -Xmx1446m -version
    java version "1.6.0"
    Java(TM) SE Runtime Environment (build 1.6.0-b105)
    Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode)
      

  13.   

    我输1446M不行,最多只能输到期1444M,java版本是1.50
      

  14.   

    凭着里网友的实力应该是测不出来的。因为大家谁都没有超级电脑。Java最大支持多少内存,
    虽然Java语言不依存于OS,但是JVM的性能,跟OS、CPU等硬件有直接关系。
    最起码用windows肯定是检测不出Java最大能支持多少内存,因为Windows本身就存在性能的瓶颈。这里是SUN的一篇文章,
    Java5.0,内存最大似乎支持到了500G
    http://java.sun.com/developer/technicalArticles/Interviews/hamilton_qa.html
      

  15.   

    C:\Documents and Settings\new>java -Xmx1446M -version 
    java version "1.6.0_03" 
    Java(TM) SE Runtime Environment (build 1.6.0_03-b05) 
    Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode) 
      

  16.   

    这里的讨论有很多混淆的地方。我想这里大家关心的不是Java的能力,而是我们的应用真正能够使用多少内存。这个问题受到3方面(或者3个层次)的限制。首先,你真正可用内存的大小。这里不仅仅是物理内存。一般操作系统都是支持虚拟内存的。物理内存不够的情况下用硬盘文件来模拟。这样只要在你正确设置硬盘虚拟内存文件大小(如果你有512M物理内存,你再设512M虚拟内存文件,你总共就有1G内存,你的Java应用怎么也超不过1G内存)的情况下,例如你有2G内存,你再设2G虚拟内存,那你可以用的最大内存就是4G。当然实际你可以用的内存还要受到下面这点的限制。其次,我们的应用受到了操作系统内存支持能力的限制。大家大多数用的是32Bits的CPU,那么也是32Bits的操作系统。一般的WindowsXP可以支持到3G内存(好像改一下配置可以到3.5G,不过对我们的讨论没有影响),正常的Linux最大内存也是4G,可以重编译成支持8G内存的版本。去除掉操作系统本身使用的一部分内存,WindowsXP应用程序可以用的内存在2G-3G之间(假设你已经正确配置了物理内存和虚拟内存),Linux在3G-7G之间。最后,JVM本身支持的最大内存。因为JVM也是一个应用,不同的版本在不同的OS上都有出入。基本WindowsXP上在1500M上下,大家最常用的Sun的JDK5,JDK6都在1450M左右。Linux上在2600M多。这篇文章有详细的测试过程和结果。(http://www.baizeju.com/html/Java/200806/04-10.html)公司 JVM版本                  最大内存(兆)client    最大内存(兆)server
    SUN 1.6.0                          1442                           N/a
    SUN 1.5.x                          1492                            1520
    SUN 1.5.5(Linux)             2634                            2660
    SUN 1.4.2                          1564                            1564
    SUN 1.4.2(Linux)             1900                            1260
    IBM 1.4.2(Linux)             2047                             N/A
    BEA JRockit 1.5 (U3)      1909                             1902 
      

  17.   

    C:\Documents and Settings\user>java -Xmx1444M -version
    java version "1.5.0_06"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
    Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)C:\Documents and Settings\user>java -Xmx1445M -version
    Error occurred during initialization of VM
    Could not reserve enough space for object heap
    Could not create the Java virtual machine.winxp + sp2
    jdk1.5.0_06-b05
    机器内存1024M
    java -Xmx1444M -version
      

  18.   


    我仅仅想知道一下普通windows PC能达到怎样的水平,有没有例外。
    以便供我在项目部署的时候参考使用。
      

  19.   

    C:\Documents and Settings\admin>java -Xmx1447M -version
    Error occurred during initialization of VM
    Could not reserve enough space for object heap
    Could not create the Java virtual machine.C:\Documents and Settings\admin>java -Xmx1446M -version
    java version "1.6.0_02"
    Java(TM) SE Runtime Environment (build 1.6.0_02-b06)
    Java HotSpot(TM) Client VM (build 1.6.0_02-b06, mixed mode)
    本机OS:WindsXP Memory:2G
    正常:java -Xmx1446M -version
    报错:java -Xmx1447M -version