Java堆空间内存泄漏

标签 java memory-leaks jvm out-of-memory

我正在解决 JVM 内存泄漏问题,这是我目前所知道的:

  • 泄漏发生在堆空间中。
  • GC后oldGeneration空间没有被回收,或者回收很少。 enter image description here

如您所见,老一代空间很快就填满了。

有谁知道哪些对象如何分配内存?或者有一些如何解决的提示?

最佳答案

您可以尝试创建 HeapDump(例如通过 JVisualVM)来检查哪些对象仍然被引用。通过 Eclipse MAT,您可以分析此转储。只有不再引用的对象才会被 GC 自动删除。

关于Java堆空间内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48624702/

相关文章:

java - 实例化非最终静态变量是线程安全的吗?

java - 为什么这段代码打印的是 20 20 而不是 20 10?

java - Spring Boot + Tomcat 忽略 server.port 属性?

Java 反射 API。如果内部类不是公共(public)的,则无法实例化内部类

c++ - 如何正确使用Qt QML Image Provider

java - 由于同步顺序,以下Java程序是否必须打印 "num:1 m_i:2 "

java - Java 代码内部基准测试

android - 传递任何对象时发生内存泄漏

c# - 对一个对象具有相同引用的对象的大型网络

java - 创建 native 线程时出现 OutOfMemoryError