Java RMI tcp 连接内存问题
Java RMI tcp connect memory issue
我有一个可以在探查器中找到的问题,但我不知道如何解决它。
加载应用程序后,我得到这个锯齿波模式,程序空闲但消耗内存,如您在此处看到的。
当我检查采样器线程内存分配时,我看到 RMI TCP 连接到我的 eth0 (172.16.20.51) 以每秒半兆字节 (413,213) 的速度消耗内存,这导致生产记录 'stop the world' GC :-(
我无法追踪这个问题的原因,因为我不知道它是哪个线程的哪个端口,另一方面我试图 运行 我的罐子
-com.sun.management.jmxremote.authenticate=假
-Dcom.sun.management.jmxremote.ssl=假
标志,但没有帮助。
任何想法将不胜感激。
我知道这是一个旧的 post,但由于我遇到了同样的问题,所以答案可能对其他人也有帮助..
RMI TCP 连接线程是虚拟 VM 对内存使用情况进行采样的方式。因此,高分配 Bytes/sec 是您在分析时期望看到的,并不(必然)表示您的应用程序有任何问题。例如参见 [=10=].
关于堆转储,Visual VM 在 Monitor 和 Sampler 选项卡中有一个 'Heap Dump' 按钮,它将保存堆转储文件。例如,您可以将其加载到免费 Eclipse Memory Analyzer (MAT) 以检查内存泄漏等
我有一个可以在探查器中找到的问题,但我不知道如何解决它。 加载应用程序后,我得到这个锯齿波模式,程序空闲但消耗内存,如您在此处看到的。
当我检查采样器线程内存分配时,我看到 RMI TCP 连接到我的 eth0 (172.16.20.51) 以每秒半兆字节 (413,213) 的速度消耗内存,这导致生产记录 'stop the world' GC :-(
我知道这是一个旧的 post,但由于我遇到了同样的问题,所以答案可能对其他人也有帮助..
RMI TCP 连接线程是虚拟 VM 对内存使用情况进行采样的方式。因此,高分配 Bytes/sec 是您在分析时期望看到的,并不(必然)表示您的应用程序有任何问题。例如参见 [=10=].
关于堆转储,Visual VM 在 Monitor 和 Sampler 选项卡中有一个 'Heap Dump' 按钮,它将保存堆转储文件。例如,您可以将其加载到免费 Eclipse Memory Analyzer (MAT) 以检查内存泄漏等