在压测过程中,有时候cpu会飙升,造成这种现象的原因很多,
可能是gc造成的,也可能是某个方法造成的,
如果从找对应的方法入手,下面简单罗列下步骤:
1.top,获取pid
下面cpu消耗90%左右
2.top -Hp pid,获取cpu切片时间最多的tid
32209cpu切片时间最多
3.printf "%x\n" tid,转换为16进制
4.jstack pid |grep tid -A 20,获取这个tid的线程栈信息
下图表示是打日志消耗cpu多
优化方案:打印日志改为单线程,异步