Tomcat内存使用量增长,直到崩溃,没有GC运行

我正在pipe理一个运行Tomcat的服务器,这个服务器最近stream量很大。

如果我监视任务pipe理器中的内存使用情况,我可以看到内存使用量增长,最终tomcat在1GB标记附近崩溃。

这里是我在Tomcat Properties(这是一个Windows Server)中设置的内存相关位:

初始内存池:1024 MB
最大内存池:1024 MB
-XX:MaxPermSize参数= 256M

奇怪的是,因为这些问题出现,我已经部署到Tomcat实例的Lambda探测,我看到的内存使用情况值低得多,例如任务pipe理器可能显示467MB使用,而探头中使用的“总计”是212 MB。 另外,Probe中列出的Maximum Total是1.29GB,当我预计1GB时,是上面设置的最大内存。

如果我强制垃圾收集器运行使用探针,我可以让Tomcat崩溃一段时间(无限期,AFAIK)。 那么为什么GC不能自动运行并阻止Tomcat崩溃?

谢谢。

菲尔,

您需要调整您的JVMconfiguration。 看看我在Tomcat服务器中使用的JMVconfiguration,在交通繁忙的情况下performance得非常好:

http://acevedoalberto.wordpress.com/2009/01/16/hello-world/

阿尔贝托