1. dump出内存快照
jmap -dump:format=b,file=csmp.heap 3676
2. 来监控内存变化
jstat -gcutil 3676 1500 10
·3676 --> 得到java的进程ID号
·1500 --> 表示每隔1500ms取一次数据
·10 --> 表示一共取10次数据
3. 配置参数,内存溢出时输出内存快照
-XX:+HeapDumpOnOutOfMemoryError
mat 会自动解析生成报告 ,点击dominator Tree ,选择自己定义的包名右击,弹出菜单选择 List objects->With incoming references
列出所有的可疑类,右击 任选一项 选择Path to GC Roots -> exclude weak/soft references,进一步的查看内存泄露的类。