1.运维人员反映有服务停了,登录服务中心查看
2.排查ems代理服务问题,登录服务部署机器,查看cpu及内存,发现cpu占用很高,偶尔会飙上100%。
3.利用windows工具找到占用cpu最高的进程
4.利用 jmap -dump:live,format=b,file=file.hprof PID 导出dump
5. 利用MAT分析dump,定位到存在吃内存较多的地方
6.找到具体代码,进行分析,由于此时现网onu数量已经达到300w,查询的结果不断放入List造成OutOfMemory,修改成分批次查询即可。