解决Java内存泄漏的一般策略?

我有一个在本地运行的独立程序,它是要运行24/7的服务器类型程序。最近,我发现它有内存泄漏,现在我们唯一的解决方案是每4小时重新启动一次。找到此内存泄漏的最佳方法是什么?我们应该使用哪种工具和方法?



ABOUTYOU
浏览 308回答 3
3回答

守着一只汪

您可能会查找JMX和Java附带的jconsole应用程序。您可以立即获得一些有趣的统计信息,并且在类中添加一些简单的工具可以提供更多的功能。

肥皂起泡泡

如前所述,jvisualvm是入门的好方法,但是一旦您知道泄漏的内容,您可能需要查找对我建议使用jmap和jhat的对象的引用。jmap -dump:live,file=heap.dump.out,format=b <pid>和jhat heap.dump.out可以从jvisualvm轻松找到<pid>。然后在浏览器中导航到localhost:7000并开始探索。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java