请教一个比较急的问题:web程序在weblogic8.1服务器上跑,几天后,CPU占100%
--------------------编程问答-------------------- 重启一下就可以了、因为你的项目写的不规范、有内存没有释放 --------------------编程问答-------------------- 可以先去任务管理器中,查看到底是什么进程占用CPU比较高。然后再去检查程序。是不是有流没有关闭。有没有死循环。电脑配置是不是太低啦。。。 --------------------编程问答--------------------
重启叫解决方案呀?
考虑资源释放。多输出log,查找系统资源消耗在哪儿。 --------------------编程问答-------------------- 换台电脑试试 --------------------编程问答-------------------- 文件流要释放
数据库连接资源要释放
在结合使用hibernate时,session要释放 (如果用的话)
总之程序写的不规范、慢慢找吧!3楼说的方法可以试试!
--------------------编程问答-------------------- 看看到底是什么占资源了。找到问题根本。 --------------------编程问答--------------------
哥们,你很亮啊,
对,看日志。。。。一下子就看到了 --------------------编程问答-------------------- CPU使用率过高,首先要看是哪个进程的使用率过高。
万一要是某个木马、病毒之类的进程在作祟,岂不是很搞。
如果是数据库使用率过高,要看是哪个程序或用户的连接造成的。
如果是web程序造成的,有可能是循环任务造成的,
就是那种不停的查询某个表的操纵,如果表的记录数少还好,如果很多,千条以上,基本CPU就会飙高一下。 --------------------编程问答-------------------- 如果是web程序进程自身使用CPU过高,
可以考虑三方面原因。
1.程序出现死循环。
2.循环任务的线程泄露了,这时,WEB程序的进程中,线程应该超过几十个才对,
这样,原本是1个或几个线程在做的事情,
由于没有正常结束,还在循环执行,造成多个线程副本在干相同的事。
3.某个正在执行的任务中,非常频繁的调用了某个函数,
结果,这个函数还被Spring的切面技术,
前后切入的其他的代码(比如,数据库事务、日志、性能分析等功能的代码)
其他的,暂时就不知道了。 --------------------编程问答-------------------- --------------------编程问答-------------------- 死循环可能性大,我们公司以前就是因为程序中有死循环调用。
是一个权限树的死循环。因为版本较老,无法跟踪到那个页面或者类调用的死循环。 --------------------编程问答-------------------- 建议你部署到新一点版本的weblogic测试下。
跟踪下程序运行情况。
补充:Java , Java EE