雄猫一次又一次地下降

我们是委内瑞拉的一个开发团队,他们开发了一个tomcat5.5 + java + spring + hibernate + mysql + jstl +(flex)应用程序。 现在我们把它们安装到客户身上,让他们开心,每个人都在自己的领域。 我们使用Linode作为托pipe服务提供商,并使用cpanel的WHM软件来帮助我们快速创build帐户,并且保留邮件服务器和东西。 并让用户访问他们的邮件帐户。

所以,我们一直相处,直到我的tomcat不时停止工作,给内存错误,重新启动tomcat,一切都很好。 得到更多的客户,购买更多的硬件,直到硬件没有任何区别,了解堆的大小,现在我给更多的堆大小的tomcat,现在整个服务器不时跌倒。 连接Jconsole,我可以在记忆中每10分钟logging一次,less一些频率。 Te峰值每次迭代都会更高,直到中断。 需要提示如何扩展这种应用程序,所以我要求大家伙(你们)提供任何提示,方向,任何东西来扩展我的架构。 谢谢!

如果整个服务器出现问题,您可能会为JVM分配太多的内存。 你必须留下一些空间给OS,networking连接和缓冲区。 在JVM方面,如果您的内存使用量不断增长,您会遇到某种泄漏,或者会话时间过长,或者仅仅分配内存对于此用户数量是不够的。 对每个会话的内存使用情况进行一些衡量

jvm的行为是只要空闲就分配内存,当它不能find空闲的内存,然后垃圾收集(根据内存的压力,部分GC或全部GC),你应该检查垃圾收集后的低点,看它是否每个gc都会更高。 还要检查gc次,如果你的应用程序在gc中花费了太多的时间,并且你不能给它更多的内存,那么是时候扩展和负载平衡了。