转自
tomcat+java的web程序持续占cpu问题调试 - 像风一样的自由 - CSDN博客
http://blog.csdn.net/five3/article/details/28416771
生产环境下JAVA进程高CPU占用故障排查-huifeideluotuo-ChinaUnix博客
http://blog.chinaunix.net/uid-10449864-id-3463151.html
现象:
在tomcat中部署Java的web应用程序,过一段时间后出现tomcat的java进程持续占用cpu高达100%,导致web程序访问受阻。
可能原因分析:
可能程序确实在进行数据计算;或程序进入死循环;
解决方法:
1、先用top查看占用cpu的进程id
2、再用ps -ef | grep PID定位具体的进程主体;如是否是tomcat启动的java程序
3、用ps -mp pid -o THREAD,tid,time打印出该进程下的线程占用cpu情况
找到了耗时最高的线程28802,占用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
4、其次将需要的线程ID转换为16进制格式:
printf "%x\n" tid
5、最后打印线程的堆栈信息:
jstack pid |grep tid -A 30
找到出现问题的代码,并分析具体函数中是否有可能出现死循环的代码段。
通常问题出现在while, for之类的循环代码片段。
相关推荐
Tomcat+java+web+开发技术详解-孙卫琴-第二版.
Tomcat+java+web+开发技术详解-孙卫琴-第二版_source.zip
tomcat+java+jenkins环境配置
《贯通Java Web开发三剑客:Eclipse+Tomcat+Ant整合开发》.part2.rar
Web开发最好的自学教材 《Tomcat+java+web+开发技术详解》-孙卫琴-第2版 高清OCR 可标注 part1/3 ,要三个部分一起下载才能解压
Tomcat+java+web+开发技术详解-孙卫琴-第二版.part3
Tomcat+java+web+开发技术详解-孙卫琴-第2版 高清 part01 ,要三个部分一起下载才能解压
Tomcat+java+web+开发技术详解-孙卫琴-第二版.
Eclipse+Tomcat+MySql搭建java web开发环境.docx
《Tomcat与Java Web开发技术详解(第2版)》结合最新的Tomcat 6版本,...随书附赠光盘的内容为《Tomcat与Java Web开发技术详解》范例的源程序,以及《Tomcat与Java Web开发技术详解(第2版)》涉及的部分软件的安装程序。
上传、java mail和分页显示、web编程中文乱码问题及解决方案、应用程序的打包和部署等。书中还深入讲解了客户端验证框架jsvalidation、在线文本编辑器fckeditor和apache commons的一些类库等功能强大的实用开发工具...
Tomcat+java+web+开发技术详解-孙卫琴-第2版 高清 part01 ,要三个部分一起下载才能解压
Tomcat+java+web+开发技术详解-孙卫琴-第2版 高清 part03 ,要三个部分一起下载才能解压
主要内容包括:Tomcat和Java Web开发的基础知识、Java Web开发的高级技术、在Java Web应用中运用第三方提供的实用软件(如Struts、Velocity和Log4J)的方法,以及Tomcat的各种高级功能。 书中内容注重理论与实践相...
BlazeDs+Tomcat+Java的简单实例 包含flex和java的源文件以及生成的web项目,直接拷贝到tomcat的webapps中即可
jdk+tomcat+Eclipse(JAVA环境开发配置)里面收集了几种,都可供参考,我开始配置环境也用了很长时间,需要静下心来,慢慢来!
《贯通Java Web开发三剑客:Eclipse+Tomcat+Ant整合开发》.part1.rar