Java Play Framework(2.4.6,Scala)应用程序中的内存泄漏
我已经用scala play framework 2.4.6编写了服务。我观察到我的服务的内存使用率每天都在增加(每天1%),我还没有摆脱内存错误。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会清理内存) 然而,在生产环境中,内存的使用量不断
由于服务在生产服务器上运行,我决定在dev服务器上运行相同的构建,并使用jprofiler对其进行评测。 以下是观察结果(与开发服务器上的版本相同):
- 内存使用量不断增加,有时内存使用量会增加 减少,再次重复相同的模式李>
- 每次当内存使用量达到320 MB左右时,内存使用量就会增加 减少(我认为GC会清理内存)
- 在dev上,我设置了:-J-Xms1G-J-Xmx1G
- 在prod上,我设置了:-J-Xms2G-J-Xmx8G
如果我的play应用程序中存在内存泄漏,我如何才能找到内存泄漏的来源?这在任何方面都不像内存泄漏。您可以从为什么看起来不像内存泄漏中了解如何检查内存泄漏?内存使用率每天都在增加,请求的数量是恒定的。生产环境的堆大小是开发环境的8倍。在这种情况下,垃圾收集发生的频率较低是完全正常的。当前内存使用量是多少?服务启动时(7天前),内存使用量是1.4 GB。现在是2.4GB。每天内存使用量增加1%。我正在用top命令检查内存使用情况。