项目过程中发现,应用服务器经常会出现CPU使用率较高的情况,需要定位出具体代码问题。
1、用top命令,根据CPU使用率排序,找出消耗cpu最高的进程
2、找出该进程下消耗CPU最高的线程(命令:top -Hp pid)
3、将该进程转换成16进制
4、用jstack去dump线程栈(命令:jstack 进程|grep 16进制线程)
就是这个对象造成的用户CPU使用过高,具体根据这个对象去找对应的代码就行,或者把这个对象告诉开发,开发知道怎么去找对应的代码。
项目过程中发现,应用服务器经常会出现CPU使用率较高的情况,需要定位出具体代码问题。
1、用top命令,根据CPU使用率排序,找出消耗cpu最高的进程
2、找出该进程下消耗CPU最高的线程(命令:top -Hp pid)
3、将该进程转换成16进制
4、用jstack去dump线程栈(命令:jstack 进程|grep 16进制线程)
就是这个对象造成的用户CPU使用过高,具体根据这个对象去找对应的代码就行,或者把这个对象告诉开发,开发知道怎么去找对应的代码。