首页 > 技术文章 > Tomcat无故自动退出的问题

guogangj 2015-01-04 17:52 原文

我在这篇文章<写一个脚本,自动启动Tomcat>中提到Tomcat会无缘无故退出,而且在日志中找不到原因.后来终于知道为什么了: 由于内存不足,被OOM Killer杀死的!由于是直接被系统进程杀死,所以它自己没有机会留下任何日志.

这是我偶然跟一个技术牛人提起这个事情的时候得到的提示,他说会不会是内存不足?我一想我们的服务器只有512M内存,确实有这个可能性,但服务器又没有图形界面,其运行环境应该还是挺纯粹的,不会消耗太多内存吧?不管怎么说,得找证据,证明这是由于内存不足引起的.功夫不负有心人,证据就在这里:

egrep -i 'killed process' /var/log/messages

自己看看吧.

怎么办?除了加内存,基本上没什么办法.我们使用的是阿里云服务器,加内存还是蛮简单的,垫点钱就行了,我把内存从512M加到了1G,对服务器来说,仍然是很寒酸的,想想10年前我买的个人电脑就已经有1G的内存了,不过对我们这种创业公司来说,钱是能省一点就省一点了,等需要的时候再给服务器扩容吧.

后来我再查看了下内存利用率,发觉Java真是不折不扣的内存杀手.反正用到现在给我感觉就是启动慢,消耗内存大.当然了,一旦真正跑了起来,速度还是可以的.

推荐阅读