是不是网络的问题呀?因为即然其它的用户没有问题,而只有一个用户有问题,那就不是代码的问题了,可能是客户的机子上的网络有问题也不定的,再说你可以看一下是那些程序占用大量的CPU时间,还有就是在win2k或是XP上,很多时候CPU都是70%以上,即使你没有做什么也有那么多,我觉得他们这一点上做得不是很精细。另外一个方法是你去找一个监控内存的软件,然后运行程序,看是不是你们的代码在占用大量的内存。

解决方案 »

  1.   

    死循环绝对不能有
    如果有死循环CPU就会一下子上升到100%, 而不是缓慢上升
      

  2.   

    to  drugon(personal)
    1。java.exe程序和一个系统线程(Sysem Idle Process)占用大量cpu
    2。上到90%以上不得不重新启动服务器
      

  3.   

    别的原因不知道,这个system Idle Process 不正是空闲的cpu吗?
      

  4.   

    首先那个客户的问题在你们模拟时没有出现问题,那就有可能是客户那边的机器有问题,我也是怀疑是有病毒了!
    你们的服务器在运行了两天cpu使用率在逐渐上升,我觉得可能是程序有点问题,可能是时间长了占用内存逐渐变大,而java的垃圾回收机制又不能及时回收内存,我建议你们优化下代码,特别看一下建立类对象的地方!
    system Idle Process 是cpu的空闲等待时的进程,与他无关
    你的情况我也碰到过,就是一直是这两个进程,但那次我是死循环,而且cpu占用100%,所以应该可以排除你们的程序中死循环的可能!希望你们早点解决,关注~~
      

  5.   

    我的程序也出现过javac出现90%以上cpu占用率的情况,一般是程序的问题,忽然上升是死循环的原因;莫名其妙的可能是你的jdbc引起的问题;
    逐渐出现是可能是你的某些资源没有释放,从而管理这些过多对象积累起来的。
    我也是建议refactory你们的代码
      

  6.   

    我个人认为是TOMCAT的版本太低,所以当你的流量达到一定量的时候,自然开销就很大,导致服务不能响应.
      

  7.   

    to funcreal()
    tomcat关掉cpu使用率就降低