2
我正在编写一个应用程序,该应用程序应该运行多个小时(10-100),我使用JMX进行监视。JMX RMI - 内存泄漏 - ArrayNotificationBuffer随着时间变得越来越大
然而,一段时间后,我发现两件事情:
com.sun.jmx.remote.internal.ArrayNotificationBuffer#1
变得更大:20小时后,它的大约10MB的 - 当我开始它,它是小于1个MB- 多个线程像
RMI TCP Accept-0
(或任何其他号码)和RMI-TCP-Connection(44)-[IP]
随着时间的推移实例化。
我在想,它与应用程序的不同连接有关,但目前我只连接了一次,但一些连接似乎仍然打开。
这怎么可能?我怎样才能解决这个问题?
我不会使用RMI + JMX来长时间监视应用程序。它会产生相当多的垃圾。我会用一个简单的日志文件和/或套接字来发布你所需要的信息。 – 2012-08-09 12:51:47
为什么要重新发明轮子?我想要内存和CPU使用情况统计信息。我不明白为什么我应该完全自己写下 – Stefan 2012-08-09 12:56:06
除非它总是与你平平,否则你不需要重新发明轮子。 ;) – 2012-08-09 12:59:05