CPU使用率经常上到90%以上???

ynli2002 2004-11-05 10:02:41
Tomcat4.0.3, JDK1.3.02, Servlet
服务器的CPU的使用率经常达到90%以上,不得不重新启动服务器。
有以下已知条件
1。大约在2天左右就发生一次
2。CPU使用率是从10%左右缓慢上到90%以上, 大约经过2分钟左右的时间
3。有很多客户正在用我们的系统,可就是一个客户经常出现这个问题。所以很有可能不是程序上的问题。
采取的措施
1。在我们的机器上把客户的环境一摸一样模拟了,甚至数据也都是客户的。没有出现CPU使用率上升问题
2。给客户升级了JDK到1.4, 问题仍然出现
2。项目组研究了将近1个多月,没有找到原因

谁碰到过类似的问题?
请高手帮帮忙!!!

分不是问题!
...全文
1293 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
ynli2002 2004-11-08
  • 打赏
  • 举报
回复
果然还是没有能人阿!
ynli2002 2004-11-05
  • 打赏
  • 举报
回复
也怀疑过有可能是程序上的问题
可是这个客户的用户数量不是最多的,比这个多很多的客户都没有发生过问题
所以现在很矛盾,感觉哪块儿都不能产生问题
ynli2002 2004-11-05
  • 打赏
  • 举报
回复
我觉得也是客户方面的问题,可能是病毒或插件
可问题是2天左右发生一次,有的时候是4,5天都能正常运行
如果是病毒或插件,应该是启动就应该发生这种现象啊
galewithwing 2004-11-05
  • 打赏
  • 举报
回复
我的程序也出现过javac出现90%以上cpu占用率的情况,一般是程序的问题,忽然上升是死循环的原因;莫名其妙的可能是你的jdbc引起的问题;
逐渐出现是可能是你的某些资源没有释放,从而管理这些过多对象积累起来的。
我也是建议refactory你们的代码
bp69 2004-11-05
  • 打赏
  • 举报
回复
到有问题的客户再看看,问题很可能出在他哪里
jFresH_MaN 2004-11-05
  • 打赏
  • 举报
回复
首先那个客户的问题在你们模拟时没有出现问题,那就有可能是客户那边的机器有问题,我也是怀疑是有病毒了!
你们的服务器在运行了两天cpu使用率在逐渐上升,我觉得可能是程序有点问题,可能是时间长了占用内存逐渐变大,而java的垃圾回收机制又不能及时回收内存,我建议你们优化下代码,特别看一下建立类对象的地方!
system Idle Process 是cpu的空闲等待时的进程,与他无关
你的情况我也碰到过,就是一直是这两个进程,但那次我是死循环,而且cpu占用100%,所以应该可以排除你们的程序中死循环的可能!

希望你们早点解决,关注~~
tiger_shi 2004-11-05
  • 打赏
  • 举报
回复
最有可能是客户的机器内装的其他的东西有问题了,例如感染病毒等原因!
devel 2004-11-05
  • 打赏
  • 举报
回复
是不是可以从这俩个方面去找问题:
1,程序,看看程序是不是针对什么做特殊处理了(针对某个用户帐号,比如说Ip,网段方面)
2,客户,客户可能状了什么特殊的插件。
zllzmcDCR 2004-11-05
  • 打赏
  • 举报
回复
会不会是客服那边的环境有病毒感染。
guyungong 2004-11-05
  • 打赏
  • 举报
回复
别的原因不知道,这个system Idle Process 不正是空闲的cpu吗?
ynli2002 2004-11-05
  • 打赏
  • 举报
回复
to drugon(personal)
1。java.exe程序和一个系统线程(Sysem Idle Process)占用大量cpu
2。上到90%以上不得不重新启动服务器
ynli2002 2004-11-05
  • 打赏
  • 举报
回复
死循环绝对不能有
如果有死循环CPU就会一下子上升到100%, 而不是缓慢上升
drugon 2004-11-05
  • 打赏
  • 举报
回复
是不是网络的问题呀?因为即然其它的用户没有问题,而只有一个用户有问题,那就不是代码的问题了,可能是客户的机子上的网络有问题也不定的,再说你可以看一下是那些程序占用大量的CPU时间,还有就是在win2k或是XP上,很多时候CPU都是70%以上,即使你没有做什么也有那么多,我觉得他们这一点上做得不是很精细。另外一个方法是你去找一个监控内存的软件,然后运行程序,看是不是你们的代码在占用大量的内存。
szabo 2004-11-05
  • 打赏
  • 举报
回复
可能是程序上有死循环!
好好检查一下,会有循环出现的地方。
xdev 2004-11-05
  • 打赏
  • 举报
回复
检查该用户的操作的资源, 不能一下就确定不是程序的问题
lxjian2008 2004-11-05
  • 打赏
  • 举报
回复
觉得是你的程序问题,检查一下你的所有类,看是否有没有关闭的资源。
willfar 2004-11-05
  • 打赏
  • 举报
回复
强烈建议升级tomcat
ynli2002 2004-11-05
  • 打赏
  • 举报
回复
to funcreal()
tomcat关掉cpu使用率就降低
stoneheenet 2004-11-05
  • 打赏
  • 举报
回复
我个人认为是TOMCAT的版本太低,所以当你的流量达到一定量的时候,自然开销就很大,导致服务不能响应.
wjpsdm 2004-11-05
  • 打赏
  • 举报
回复
数据库操作是否操作一次就关闭呢?
加载更多回复(1)

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧