情况描述:服务器操作系统是32位,内存16G,tomcat的jvm配置到1G启动正常,但是大于1G就无法启动,不是说jvm内存配置可达物理内存的1/4嘛,到底咋回事呀,对这方面真不太了解,请高手们赐教!

解决方案 »

  1.   

    Jvm的最大内存不但跟物理内存有关,也跟操作系统类型和Jdk版本有关。
    不是每一款操作系统都一定能允许JVM达到物理内存的1/4的。
    不同的JDK版本也各有分别。
      

  2.   

    有这种情况?,
    一般的Web服务器(访问数量一定规模)如Tomcat,都
    能达到1G,限制1G,让人活不活了。
    应该是配置有问题吧。
      

  3.   

    jdk有对内存的限制,使用java -Xmx1024m  -version命令,探测机器能支持的最大内存.1024可以调到最大不报错就是jre环境对java内存的最大支持.
      

  4.   

    服务器的操作系统是32位的,物理内存是16G,jdk也是32位,我想把tomcat中的jvm内存调大些,但是一调大了就报错。难道jdk为32位的,tomcat只能配置1G的内存?
      

  5.   

    http://apps.hi.baidu.com/share/detail/16903259楼主看看这个这个问题似乎没这么简单,而且好像只能随遇而安
      

  6.   

    JAVA_OPTS=-XX:MaxPermSize=128m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:SurvivorRatio=8 -Xms1024m -Xmx1024m  
      

  7.   

    为1024m重动是正常的,一旦大于这个值重启tomcat就一闪而过,根本就重不了。有谁对这个比较熟悉的或遇到过类似情况的?帮忙看看咯
      

  8.   

    换一下JDK 。比如jrockit 就可以大1024 
      

  9.   

    alexandertech:您好,像我这个服务器的配置要怎样配置才能将jvm的内存升级到物理内存的1/4,由于1个G根本就不够用,我们的这个web应用还是挺庞大的,业务逻辑也比较复杂。当用户量超过200多人时,服务几乎天天都需要重启来释放资源。要不然有时tomcat会崩掉的。郁闷呀
      

  10.   

    你为什么要把JVM配到1G?这是一个值得考虑的问题
    因为这样会很占用内存,你一个人访问时不会出什么问题,
    N个人同时访问时,看看你的程序会怎样?绝对stop掉我之前有个程序把内存加到256,两个人同时访问时,就挂掉了。
      

  11.   

    我现在的问题就是如何才能将jvm的内存分配到物理内存的1/4?
      

  12.   

    换换jdk和tomcat版本试试。
    在tomcat下的catalina.bat里设置set JAVA_OPTS=Xms2048m Xmx2048m就可以。
    有时候最大值和最小值不一样也可能出现这样的问题,具体原因不是很清楚。高手可以指教一下。