Tomcat服务内存不断增长,但JVM内存稳定

时间:2017-09-25 16:28:46

标签: java tomcat memory memory-leaks jvm

我之前已经请求过这方面的帮助here,但这个问题仍然存在,之前接受的答案并没有解释。我还阅读了关于这个主题的大多数文章和SO线程,并且大多数指向应用程序泄漏或适度的开销,我认为这些都不能解释我所看到的内容。

我有一个相当大的Web服务(单独的应用程序是600MB),当单独使用时,操作系统报告增加到5GB或更多。但是,JVM限制为1GB(Xms,Xmx)。

我做了大量的内存测试,没有发现任何泄漏。我还运行了Oracle的Java Mission Control(基本上是JMX控制台)并验证了实际的JVM使用量只有1GB左右。这意味着Tomcat本身,本机内存等消耗大约4GB。

我不认为JNI等应该受到指责,因为这个特定的安装基本上没有使用过。它所做的只是定期检查数据库中的工作请求,并定期监视其资源消耗。此外,直到最近使用多年后,这仍然不是问题。

JMX控制台确实报告了高级别的碎片(70%)。但这可以解释额外的内存消耗吗?

最重要的是,并不是为什么会发生这种情况,而如何可以修复/配置它以便它停止发生。有什么建议吗?

以下是环境的一些细节:

  • Windows Server 2008 R2 64位
  • Java 1.7.0.25
  • Tomcat 7.0.55
  • JvmMX,JvmMs = 1000(1GB)
  • 主题数:60
  • Perm Gen:90MB

另见:

  • Windows 2012 R2 64位
  • Java 1.8.0.121

Service Process

JVM Memory Use Profile

JMX Console Overview

0 个答案:

没有答案