您的位置:首页 > 编程语言 > Java开发

java进程CPU占用高的问题排查

2017-03-17 11:18 393 查看
在某版代码提测时发现,java进程启动话,宿主机CPU使用率立马升到100%。百思不得其解,遂查之。
top命令查看占用cpu高的java进程号,记录11303.
ps -mp 11303 -o THREAD,tid,time 查看占用cpu高的线程号,记录。
jstack 11303 >/usr/local/agent.log

查看agent.log,并将线程号转为16进制,搜索。

通过堆栈信息分析,发现问题线程有死循环。
while(true){
if(isTrue == true){
sleep(10000);
}
}

当isTrue为false时,便不停的进行循环,造成持续的cpu抢占。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: