前言:写这篇博客的初衷是发现线上JVM问题以及排查,觉得有必要记录并分享出来,有感于很多市面上的教程讲述JVM的教程,甚至还有很多深入到Java字节码和JVM底层源码领域等深入知识,我不否认这些理论和源码也很重要,但是很多学生学习的云里雾里,等学完这些遇到线上问题还是不会排查,实际解决工作中的问题才可以真正做到技术的融会贯通,才可以深入去学习和理解Java字节码和JVM底层源码。
1.CPU占比100%现象
线上服务,访问量不大,突然预警CPU占比100%。
如图所示,查看监控大盘,发现系统是从11:10左右开始CPU占比逐步爬升到11:15左右打满到100%。
同比其他服务CPU占比
从图中看出其他服务CPU占比都很低,而且系统并无突发流量,所以初步定位是该系统自身问题导致的个案,一般是业务代码导致。
2.第一时间先查看堆栈信息
需要注意的事,有些信息稍纵即失,很多时