生产环境CPU过高问题定位
作者:bea
问题描述: 生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高。解决过程: 1、根据top命令,发现PID为2633的Java进程占用CPU高达300%,出现故障。 2、找到该进程后,如何定位具体线程或代码呢,首先显示线程列表,并按照CPU占用高的线程排序: [root@localhost logs]# ps -mp 2633 -o THREAD,tid,time | sort
问题描述:
生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高。
解决过程:
1、根据top命令,发现PID为2633的Java进程占用CPU高达300%,出现故障。
2、找到该进程后,如何定位具体线程或代码呢,首先显示线程列表,并按照CPU占用高的线程排序:
[root@localhost logs]# ps -mp 2633 -o THREAD,tid,time | sort -rn
显示结果如下:
USER %CPU PRI SCNT WCHAN USER SYSTEM TID TIME
root 10.5 19 - - - - 3626 00:12:48
root 10.1 19 - - - - 3593 00:12:16
3、将需要的线程ID转换为16进制格式
[root@localhost logs]# printf "%x
" 3626
e18
4、打印线程的堆栈信息
[root@localhost logs]# jstack 2633 |grep e18 -A 30
猜你喜欢
您可能感兴趣的文章:
- soap在ThinkPHP中的使用实例
- 什么是ThinkPHP框架新手了解下
- M方法和D方法在ThinkPHP中的区别
- 总结ThinkPHP使用技巧经验分享
- 比较ThinkPHP和FleaPHP二款PHP框架
- ThinkPHP教程详解CURD的使用
- 分享如何写ThinkPHP的注册和登录代码
- 关闭APP_DEBUG出现了解析错误
- 组合ThinkPHP配置文件消除代码冗余
- jQuery - 获得内容和属性
- error: RPC failed; HTTP 411 curl 22 The requested
- CentOS7.0安装Nginx 1.7.4
- nginx+php-fpm出现502(Bad Gateway)错误分析
- nginx内置全局变量及含义
- elasticsearch常用命令
- linux下安装ab压力测试工具及ab命令详解
- processlist中哪些状态要引起关注
- MySQL 性能优化技巧
- Linux netstat常用命令