Tomcat奇怪的内存使用情况

时间:2014-12-23 07:00:26

标签: java spring tomcat

这是一个模糊的问题。所以请随时询问任何具体数据。

我们有一个运行两个网络服务的tomcat服务器。一个使用弹簧建造的tomcat。我们使用mysql执行90%的任务,使用mongo来缓存jsons(10%)。其他Web服务使用grails编写。这两种服务都是中型代码库(每行大约35k行代码)

只有在有HTTP请求时才会进行计算(无批处理)。每个请求大约有2000个数据库命中(我知道它非常棒。我们正在努力)。请求率约为30 req / min。对于一个特定的请求,存在非常昂贵的图像处理。没有任何JNI

我们发现了一种奇怪的行为。昨晚,我可以确认服务器没有请求大约12个小时。但是当我查看内存消耗时,它非常令人困惑: enter image description here

没有任何请求,内存不断从500Mb跳到1.2Gb(跳跃700 Mb是令人担忧的)。如上所述,服务器端没有计算。我不确定它是否有内存泄漏:

  1. 内存使用量下降。 (如果内存没有降低,事情会变得更容易)。
  2. 使用基于SoftReference的缓存可以重现此行为。完整的gc' s。但是我没有在任何地方使用它们(不确定是否有其他东西在使用它)
  3. 还有什么原因。是担心的原因吗?

    PS:我们最近经常遇到内存崩溃(不是错误而是JVM崩溃)。

1 个答案:

答案 0 :(得分:0)

这实际上是正常行为。您只是看到垃圾收集发生。