我正在为我的应用程序使用 JAVA 的 Play Framework 。我的应用程序消耗的内存比分配的内存多。有时我会遇到类似 java.lang.OutOfMemoryException
的异常。请帮助我,如何找到java中的内存泄漏以及如何减少java的内存使用?我正在使用 jProfiler
来查找内存泄漏,但我对此没有任何改进。
最佳答案
在 OOME 发生时捕获堆转储的一个好方法是添加 VM 参数 -XX:+HeapDumpOnOutOfMemoryError
。您将获得一个可以通过 JProfiler 和其他工具打开的 HPROF 堆转储。
在 JProfiler 中,检查过度内存消耗的第一站是堆遍历器的“最大对象” View 。在许多情况下,使用过多内存的原因会立即显而易见。
关于java - Play 框架应用程序中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17342760/