参考:https://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-ma/index.html
在生产上的项目出现内存泄漏,内存溢出等异常时,无法进行项目重新发布,项目中打印的日志又无法找到具体的问题时,就需要我们进行一些别的方式来找到问题,解决问题了,这里推荐可以使用Eclipse Memory Analyzer 插件来解析内存
一 在服务器上生成hprof(堆存储文件)文件
1.使用jdk自带的jmap工具来生成文件
jmap -dump:format=b,file=#{filename}.hprof #{PID}
在运行应用之前,指定参数参数
2.在内存泄露的时候生成hprof
-XX:+HeapDumpOnOutOfMemoryError
3.按需获取hprof 文件
-XX:+HeapDumpOnCtrlBreak