公司一台windows 2003服务器,上面安装了websphere application server 5.1,部署了一个mis系统,总是在运行1-2天后,cpu利用率就达到了100%,导致系统崩溃,访问不了。
初步判断原因可能是在不断反复使用一个报表功能后,持续1-2天后,系统cpu利用率居高不下,导致用户使用不了。
1、从程序方面入手,深入分析这个报表功能,其中有一个方法有7重循环嵌套,不断克隆新对象,可能给Java虚拟机回收造成沉重负担,导致问题发生。解决方案:用其他方式代替克隆,新对象大量减少,报表生成速度大为加快,但是运行2-3天后,问题依然存在。
2、从服务器入手,分析javacore,没有发现异常;怀疑堆栈太小,设置Java heap size为1024Mb,后来问题依旧。请csdn大侠们帮忙分析下,不胜感激!