应该不是TOMCAT的问题吧。是不是你程序中使用了大量的数组或Vector之类?应该从你的程序考虑!

解决方案 »

  1.   

    使用连接池,不用的connection就释放掉。
      

  2.   

    不是吧再tomcat的启动文件里  加上jvm的内存大小控制参数是  java -Xms300M  -Xmx300M 
    ms是最小内存  mx是最大内存
      

  3.   

    jokerjavava:
    在哪个文件?哪个地方?
      

  4.   

    机器的内存  不是jvm的内存
    java -Xms800M  -Xmx800M 
      

  5.   

    tomcat.bat  在ibm下面有可能名字不一样
    就是tomcat的启动文件里面    
      

  6.   

    是不是startup.bat?,startup.bat内容如下,在哪个地方设置?
    @echo off
    if "%OS%" == "Windows_NT" setlocal
    rem ---------------------------------------------------------------------------
    rem Start script for the CATALINA Server
    rem
    rem $Id: startup.bat,v 1.4 2002/01/15 02:55:38 patrickl Exp $
    rem ---------------------------------------------------------------------------rem Guess CATALINA_HOME if not defined
    if not "%CATALINA_HOME%" == "" goto gotHome
    set CATALINA_HOME=.
    if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
    set CATALINA_HOME=..
    :gotHome
    if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
    echo The CATALINA_HOME environment variable is not defined correctly
    echo This environment variable is needed to run this program
    goto end
    :okHomeset EXECUTABLE=%CATALINA_HOME%\bin\catalina.batrem Check that target executable exists
    if exist "%EXECUTABLE%" goto okExec
    echo Cannot find %EXECUTABLE%
    echo This file is needed to run this program
    goto end
    :okExecrem Get remaining unshifted command line arguments and save them in the
    set CMD_LINE_ARGS=
    :setArgs
    if ""%1""=="""" goto doneSetArgs
    set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
    shift
    goto setArgs
    :doneSetArgscall "%EXECUTABLE%" start %CMD_LINE_ARGS%:end
      

  7.   

    可能你的程序里面有很多对象占用的内存没有释放掉,你检查一下session、数据库连接等是否释放掉;另外尽量用new来产生所有的对象;