我现在遇到一个tomcat内存溢出问题!具体情况请在我分析下,
  公司服务器质量不怎么好,内存只有1g,别的暂时不说了!
因为上面先前已部署了别的程序,tomcat设置内存为  set JAVA_OPTS=-Xms512m -Xmx1024m
因为这个tomcat内部署的程序太多,我把我们程序加上就不能启动了,直接就内存溢出了!
所以我就自已另外建了一个tomcat,把所有的端口都改了,现在可以正常启动并运行了!
本来以为问题解决了,可以后来测试发现,内存溢出情况还是时有发生
请教办法,我想,不一定是我自已的tomcat内存设置过低,别的tomcat已经占用了内存资源,所我会导致我的内存不足。请大家帮我分析下

解决方案 »

  1.   

    set JAVA_OPTS= -Xms1024m -Xmx1024m 
    内存溢出情况还是时有发生
    是不是你程序有问题呢
      

  2.   

    你公司服务器内存只有1G啊 那就不能设置这么大set JAVA_OPTS= -Xms1024m -Xmx1024m 
    set JAVA_OPTS= -Xms512m -Xmx512m看看 
    tomcat内存溢出: 无法创建新的线程。
            这种现象比较少见,也比较奇怪,主要是和jvm与系统内存的比例有关。
            这种怪事是因为JVM已经被系统分配了大量的内存(比如1.5G),并且它至少要占用可用内存的一半。有人发现,在线程个数很多的情况下,你分配给JVM的内存越多,那么,上述错误发生的可能性就越大。
     
      

  3.   

    我自已的内存是用的默认大小128m,因为同一个机器上部署了两个tomcat。。!
    别人用的那个set JAVA_OPTS=-Xms512m -Xmx1024m
      

  4.   

    你终于有机会分析内存溢出问题了,我一直没有这样的机会呀!!你快找dump文件。看!http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0903_suipf_javadump/index.html
      

  5.   

    个人还是怀疑是你的程序有问题,按理说“set JAVA_OPTS=-Xms512m -Xmx1024m”这样的配置应该没问题了,但是还是回报内存溢出,应该是你在你代码里面哪个地方对内存的压力太大了。在自己的电脑上测试测试,观察下tomcat的内存占用率和CPU使用率,从多方面来检查检查