性能问答>【赏金25元】windows java 堆外内存泄漏>
5回复

【赏金25元】windows java 堆外内存泄漏



运行在工控机(i5-6200u 8g内存)的java程序发现内存泄漏,找不到方法查找泄漏原因。
vm.png
监控.png
非堆.png

参考上面截图,程序在运行一段时间后,在任务管理器观察内存不断增长,但通过工具查看堆内内存正常,用jconsole和NMT jcmd等方法查看的堆外内存也在正常范围,亦添加了-XX:MaxDirectMemorySize=1024M。
但在监控堆与非堆之外有未知模块内存泄漏,导致工控机整体内存溢出。

怀疑是JNA调用了DLL引起的内存泄漏,但项目程序引用DLL较多,没有工具不好逐个排查。

已经尝试过用JProfiler,NMT等方法查看堆内堆外内存,但观察结果都在正常范围内,找不到相关泄漏的模块。

网上查到的工具都是linux平台的,请问Windows平台下是否有其他内存分析工具,或者是否有其他思路可以帮忙查出问题?

925 阅读
请先登录,查看5条精彩评论吧
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步