Tomcat内存使用量在IDLE中增长

eki*_*tru 3 java tomcat memory-leaks rmi threadpool

我在Tomcat上增加内存消耗时遇到问题.刚启动后没有任何反应,但如果有一些用户登录,此内存使用量开始在Edem中开始增长.PermGen不会增长,但无论如何,它是正常的. jvisualvm profiling

我的分析显示线程RMI TCP连接产生大量的Object [] char []和String []对象.我无法理解什么是错的以及在哪里挖掘.谁开始这个帖子,是postgres连接,这是什么?

And*_*rte 5

这是正常的,并不是内存泄漏.用于管理应用程序的线程不断创建和销毁对象.您会看到内存不断增加,因为JVM垃圾收集器并未急切地回收未使用的内存.这种情况会定期发生(基于以前的统计数据)或内存不足时发生.如果它是一个真正的内存泄漏,你不会看到收集后Eden内存使用率下降到几乎为零.内存泄漏显示为随时间增加的最低点(GC之后).


zap*_*apl 2

你正在观察你正在观察:

JVM 收集有关自身的统计信息并将其发送给您。这会消耗内存并使用 RMI 传输设施。

Visual VM 中的 RMI TCP Accept、Attach Listener 和 Signal Dispatcher 是什么?

我也不认为该图像显示的内容有问题。Eden 基本上总是增长缓慢,因为总是有一些工作会消耗内存。

一旦 Eden 被收集(到最后价值约 200MB),您可以看到大部分内存是完全空闲的,并且很少(约 8MB)在幸存者空间中结束,因为可能仍然有对这些对象的引用。但它们似乎并没有离开幸存者,因为 OldGen 没有增长,底部的直方图也显示典型的幸存者对象达到了 2 级,然后就消失了。

这一切对我来说看起来很正常。