本帖最后由 summbahjh 于 2011-12-31 08:59:05 编辑

解决方案 »

  1.   

    可以先去任务管理器中,查看到底是什么进程占用CPU比较高。
    然后再去检查程序。是不是有流没有关闭。有没有死循环。电脑配置是不是太低啦
      

  2.   

    重启叫解决方案呀?考虑资源释放。多输出log,查找系统资源消耗在哪儿。
      

  3.   

    文件流要释放
    数据库连接资源要释放
    在结合使用hibernate时,session要释放 (如果用的话)
    总之程序写的不规范、慢慢找吧!3楼说的方法可以试试!
      

  4.   

    CPU使用率过高,首先要看是哪个进程的使用率过高。
    万一要是某个木马、病毒之类的进程在作祟,岂不是很搞。如果是数据库使用率过高,要看是哪个程序或用户的连接造成的。
    如果是web程序造成的,有可能是循环任务造成的,
    就是那种不停的查询某个表的操纵,如果表的记录数少还好,如果很多,千条以上,基本CPU就会飙高一下。
      

  5.   

    如果是web程序进程自身使用CPU过高,
    可以考虑三方面原因。
    1.程序出现死循环。
    2.循环任务的线程泄露了,这时,WEB程序的进程中,线程应该超过几十个才对,
        这样,原本是1个或几个线程在做的事情,
        由于没有正常结束,还在循环执行,造成多个线程副本在干相同的事。
    3.某个正在执行的任务中,非常频繁的调用了某个函数,
        结果,这个函数还被Spring的切面技术,
        前后切入的其他的代码(比如,数据库事务、日志、性能分析等功能的代码)
    其他的,暂时就不知道了。
      

  6.   

    建议你部署到新一点版本的weblogic测试下。
    跟踪下程序运行情况。