sos:tomcat不定期的CPU占用100%,怎样监测Tomcat的运行情况
我有一人应用,用Tomcat作jsp容器。在随机(因为我不知道出错的原因,所以只能讲是随机)的情况下,服务器的CPU占用100%,基本无法提供正常的服务。有没有什么工具能监测Tomcat 的进程或线程的运行情况,这样可能比较方便查错。请高人赐教 问题点数:100、回复次数:13Top
1 楼tomuno(特别行动组)回复于 2006-03-14 16:32:49 得分 20
去下载一个监视cpu的工具
你的应用是不是遇到了高并发?Top
2 楼doway(john)回复于 2006-03-14 16:49:34 得分 30
99%,代码中有死循环。
Top
3 楼z_j()回复于 2006-03-14 20:16:36 得分 0
肯定是程序的问题,有没有什么工具,能够查看Tomcat当前的线程情况,这样我这能大致定位是哪里出了问题,现在我是不知道哪里出了问题,代码那么多,不可能一句一句的去看。Top
4 楼wuyg(平平)回复于 2006-03-15 02:03:59 得分 10
自己写一些监控代码,应该可以解决问题。Top
5 楼a2048(你好吗)回复于 2006-03-15 09:16:10 得分 10
我同意doway(john)的建议。估计你的代码有问题。你先检查一下你的程序吧。Top
6 楼TomyGuan()回复于 2006-03-15 09:19:46 得分 10
jProfileTop
7 楼lightlee()回复于 2006-03-15 09:41:24 得分 10
如果有连接数据库程序的话.检查下打开数据接口是否关闭了Top
8 楼z_j()回复于 2006-03-15 11:17:50 得分 0
多谢大家的建议。有几点是可以明确的:
1 数据库连接使用上肯定是没有问题的, 都用try{ }catch() finally{ releaseConnection()}做了处理,所以不存在数据库连接没有关闭的问题
2 程序不是一点点,“你先检查一下你的程序吧”这个是肯定要做的,问题是我不能一行一行地去检查,这样无异于大海捞针。所以需要一些辅助工具。
3 现在找了些文章看,原来jconsole就可以对Tomcat等作监控,正在尝试中... 有结果了,我再反馈到下面。
谢谢各位的热心。如果有什么更多的建议,洗耳恭听Top
9 楼z_j()回复于 2006-03-15 11:21:29 得分 0
题外话: 好些天没有上来,这信誉怎的就只有88了,也没做嘛坏事呀。Top
10 楼zeq258(周二强)回复于 2006-03-15 11:29:57 得分 5
学习下Top
11 楼z_j()回复于 2006-03-15 16:39:43 得分 0
已经做好配置,用jconsole对tomcat作监控。同时做了一些测试,在一些class中加上显而易见的死循环,然后用jconsole 查看线程情况。果然有一个线程始终处于"Runnable"状态,并且显示了相关调用堆栈,其中的死循环所在的类及行号都显示出来了。ok,要的就是这个功能。
现在要做的就是等服务器cpu占用达100%后,查看jconsole.
等待异常出现中......
Top
12 楼davidmay(我最喜欢你们这些灌水的了,真有技术含量)回复于 2006-03-15 16:52:57 得分 5
顶一下看看自己的分Top
13 楼z_j()回复于 2006-03-18 12:42:48 得分 0
在两天后,CPU占用上升并稳定在50%,于是查看各线程,有一个有问题,相关的调用堆栈显示出来,于是在源代码中进行查验。 程序在一个 while中陷入死循环。问题找到并排除。结贴Top




