Java Play Framework(2.4.6,Scala)应用程序中的内存泄漏

Java Play Framework(2.4.6,Scala)应用程序中的内存泄漏,java,scala,memory-management,memory-leaks,playframework,Java,Scala,Memory Management,Memory Leaks,Playframework,我已经用scala play framework 2.4.6编写了服务。我观察到我的服务的内存使用率每天都在增加(每天1%),我还没有摆脱内存错误。 由于服务在生产服务器上运行,我决定在dev服务器上运行相同的构建,并使用jprofiler对其进行评测。 以下是观察结果(与开发服务器上的版本相同): 内存使用量不断增加,有时内存使用量会增加 减少,再次重复相同的模式 每次当内存使用量达到320 MB左右时,内存使用量就会增加 减少(我认为GC会清理内存) 然而,在生产环境中,内存的使用量不断

我已经用scala play framework 2.4.6编写了服务。我观察到我的服务的内存使用率每天都在增加(每天1%),我还没有摆脱内存错误。
由于服务在生产服务器上运行,我决定在dev服务器上运行相同的构建,并使用jprofiler对其进行评测。 以下是观察结果(与开发服务器上的版本相同):

  • 内存使用量不断增加,有时内存使用量会增加 减少,再次重复相同的模式
  • 每次当内存使用量达到320 MB左右时,内存使用量就会增加 减少(我认为GC会清理内存)
然而,在生产环境中,内存的使用量不断增加。在运行这些服务时,我设置了以下配置:

  • 在dev上,我设置了:-J-Xms1G-J-Xmx1G
  • 在prod上,我设置了:-J-Xms2G-J-Xmx8G
我想知道如果-Xms和-Xms参数值控制GC行为会发生什么。
如果我的play应用程序中存在内存泄漏,我如何才能找到内存泄漏的来源?

这在任何方面都不像内存泄漏。您可以从为什么看起来不像内存泄漏中了解如何检查内存泄漏?内存使用率每天都在增加,请求的数量是恒定的。生产环境的堆大小是开发环境的8倍。在这种情况下,垃圾收集发生的频率较低是完全正常的。当前内存使用量是多少?服务启动时(7天前),内存使用量是1.4 GB。现在是2.4GB。每天内存使用量增加1%。我正在用top命令检查内存使用情况。