性能问题分析调优案例第5篇
案例背景 环境:现场生产环境,SunOS 5.10 + WAS 8.5 + oracle问题描述:现场人员反馈PM服务所在的SERVER频繁自动重启,导致系统无法使用,业务无法开展。 分析过程 因为SERVER会自动重启,所以首先想到的是内存溢出,因为WAS的SERVER,默认情况下在内存溢出后会自动重启。 现场的操作系统是SunOS 5.10,这个操作系统上面的WAS,用的是Sun JDK,而非WAS 自带的IBM JDK,记住这一点。 查看WAS日志目录下的native_stdout文件,发现在重启的时间点,WAS自动生成了一次Full thread dump Java。 在thread dump的最后,可以看到Heap使用情况,PSPermGen使用了99%,已经满了,大小约为256M,其他分区的使用量还比较低。 查看WAS日志,里面确实也提示“java.lang.OutOfMemoryError: PermGen space”,不过溢出的位置并没有跟业务有关的可疑代码。 检查内存溢出时的线程堆栈信息,主要查看webcontainer的线程和dubbo线程的信息,看是否存在可疑的...