一、内存泄露的原因
1.对象没有被回收
2.IO流没有正常关闭,导致持续占用资源
二、CPU持续升高
1.存在死循环,导致程序无法退出,持续占用cpu
2.存在并发,大量线程在抢占cpu资源
三、响应速度慢
1.jvm频繁进行fullgc,导致服务终端
2.线程阻塞,导致大量请求阻塞
四、常用的排查命令
jstat -gcutil pid 1000 1000 (查看垃圾回收情况,pid替换成进程id,一秒执行一次,循环一千次)
jstack pid(查看线程的堆栈信息)
jmap -histo:live pid| head -n 200(查看对象在内存中的占用情况)
————————————————
版权声明:本文为CSDN博主「明月清风_Dustin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_30525851/article/details/93878190