1引言作为一名从事Java开发快一年的程序员,在线上经常碰到某个模块的Pod发出CPU与内存告警的问题,而这些问题会导致系统响应缓慢甚至是服务不可用。一般情况下可以通过重启或者调高Pod的资源量或者增加Pod数量暂时解决问题,但这是治标不治本的,只有找到问题发生的原因才能从根本上解决问题。那么在该如何快速定位到导致告警的原因呢?下面将汇总一下大致的处理思路。一般来说导致Java程序CPU与内存冲高的原因有两种:代码中某个位置读取数据量较大,导致系统内存耗尽,从而导致FullGC次数过多,系统缓慢。代码中有比较耗CPU的操作,导致CPU过高,系统运行缓慢。代码某个位置有阻塞性的操作,导致该功能调