windows服务器排查java 程序 cpu100%步骤
1.查消耗cpu最高的进程pid
2.根据pid查消耗cpu最高的线程id
3.根据线程id查出对应的程序线程,进行处理
准备死循环代码
fun main(args
: Array
<String
>) {
println("开始")
var random
= 0
while (random
< 100) {
random
= random
.times(100)
}
println("结束")
}
打开Process Explorer,查看进程:
发现最耗cpu的进程为java.exe ,pid 67988,其中最耗cpu的线程为68168,转化为16进制为10a48,
接着执行命令
C
:\Users\Koruit
>jstack
-l
67988 > d
:/67988.stack
生成进程对应的快照文件,打开文件,搜索10a48,如下图所示:
可以看到TestProcessor.kt文件11行有异常,
75)]
可以看到TestProcessor.kt文件11行有异常,