线上异常排查总结相关文章
Posted lvgg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线上异常排查总结相关文章相关的知识,希望对你有一定的参考价值。
1.线程dump命令
jstack -l pid > xxx.file
##pid java 进程id
2.top命令查看CPU
3.高手是怎么使用jstack精确找到异常代码的
-
将上述代码打成Jar。
在Linux上执行上述代码
命令:
java -jar JavaStudy.jar
-
找到CPU利用率持续比较高的进程,获取进程号,此处PID为3036
命令:top
-
找到上述进程中,CPU利用率比较高的线程号TID(十进制数),此处为3046
命令:ps p 3036 -L -o pcpu,pid,tid,time,tname,cmd
-
将获取的线程号(十进制数)转换成十六进制,此处为0xb46
命令:printf "%x " 3046
-
查看进程PID为3036中
nid为0xbe6的线程信息。
命令:
jstack -l 3036
-
可以看到jstack命令的输出结果是相当准确的:
显示耗CPU比较高的代码与实际情况相同,都是第13行。
放心的用吧。
Enjoy youself!
-
以上是关于线上异常排查总结相关文章的主要内容,如果未能解决你的问题,请参考以下文章
rsyslog服务异常导致Python rpc服务启动异常的排查
异常:org.apache.catalina.connector.ClientAbortException : java.io.IOException: 断开的管道发现与排查(JVM线上问题排查之五)
异常:org.apache.catalina.connector.ClientAbortException : java.io.IOException: 断开的管道发现与排查(JVM线上问题排查之五)
异常:org.apache.catalina.connector.ClientAbortException : java.io.IOException: 断开的管道发现与排查(JVM线上问题排查之五)
异常:org.apache.catalina.connector.ClientAbortException : java.io.IOException: 断开的管道发现与排查(JVM线上问题排查之五)