tomcat上跑多个应用

TOMCAT上跑多个应用,各个应用访问不同的数据库,这样是不是很耗费内存资源啊。反正TOMCAT经常DOWN机(无反应),看网络连接状态HTTP服务都是CLOSE_WAIT状态,然后需要重新启动才恢复正常一段时间。可是查看日志,也没看到明显错误。有时候会报告:java.lang.OutOfMemoryError: Java heap space。也曾经增加了堆内存,后来仍然出现TOMCAT无反应的情况,但是日志也没明显错误。不知道什么原因,请求各位达人指点!谢谢!

甚至现在TOMCAT重新启动的时候就已经内存使用率达到400M,而且一直没有下降,即使在没有人访问网站的时候,内存消耗依然高居不下,然后就挂了。为什么TOMCAT启动的时候就要占用这么多内存呢?是不是跟开了多个应用和数据库有关啊

total used free shared buffers cached
Mem: 246592 243148 3444 0 25160 31640
-/+ buffers/cache: 186348 60244
Swap: 522104 187644 334460
启动的时候超慢,还没有人访问的时候,内存就用了这么多了,运行一段时间,就挂了。是不是开的应用太多了啊,可是我看web.xml 里面没有做什么太多的操作啊,就是加了一个log4j组件,做了一些初始化的操作,为什么会这样呢?知道的来指点一下啊!谢谢

一定有很多没有释放的对象吧... 重新检查一下程序代码, 必要的时候要重构和优化, 尽量使用局部变量, 并且在变量使用完毕后, 显式声明释放对象.... 应该会好些....

我发现每次启动TOMCAT的时候,有一个JAVA进程在跑,DOWN了TOMCAT之后,这个JAVA进程依然在跑,而这个进程占用的内存,也没有释放。每次启动TOMCAT,都同样产生一个相同的JAVA进程,而DOWN了TOMCAT,这个JAVA进程也不会释放,内存仍然如此,每DOWN和启动一次,就多一个JAVA进程,并且占用很多内存,这样来回几次之后,内存就消耗完毕,TOMCAT就没反应了 。
按道理来说,DOWN了TOMCAT之后,应该相应的应用的内存就释放了,为什么依然有这个JAVA进程占用内存资源呢?
是不是某些对象没有能够成功地释放,或者是垃圾回收不能有效起作用?
有人指出,这是java defunct进程,是系统没有配置好的原因,我查了相关资料,是因为LINUX跟ORACLE库版本不兼容的原因,可是我使用的数据库是MYSQL,应该如何配置呢