linux下tomcat占用cpu过高问题排查
在服务器报cpu过高时,可使用以下命令,快速导出堆栈信息,以方便查看具体的问题。
我们提供的服务有:成都做网站、成都网站建设、微信公众号开发、网站优化、网站认证、峨边彝族ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的峨边彝族网站制作公司
1、使用top命令定位异常进程。可以看见3653的CPU和内存占用率都非常高
此时可以再执行ps -ef | grep java,查看所有的java进程,在结果中找到进程号为12836的进程,即可查看是哪个应用占用的该进程。
2、使用top -H -p 进程号查看异常线程
3、使用printf "%x\n" 线程号将异常线程号转化为16进制
# printf "%x\n" 线程号
4、 使用jstack 进程号|grep 16进制异常线程号 -A30来定位异常代码的位置(最后的-A30是日志行数,也可以输出为文本文件或使用其他数字)。可以看到异常代码的位置。
可将错误信息给研发同事看看原因
网页名称:linux下tomcat占用cpu过高问题排查
文章起源:http://hbruida.cn/article/ihsess.html