Weblogic常见问题解决方案_第1页
Weblogic常见问题解决方案_第2页
Weblogic常见问题解决方案_第3页
Weblogic常见问题解决方案_第4页
Weblogic常见问题解决方案_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、WebLogic频繁宕机故障处理环境描述AIX5308. WebLogic9. 2 MP3集群(6应用节点,1管理节点,1集群分发节点)JDK: IBMJava5 64-bit JDK (Service Refresh SR6b + IZ08455)JVM: -Xms2048M - Xmx2048MPatch ID: NGZ8Performance Pack: server/native/aix/ppc64/1ibmuxer. so 系统使用过程中,平均每一个月至少宕机一次,表现为WebLogic服务节点呈挂死 现象,业务系统不能使用,只能重启服务节点后系统方能使用,并且在业务系统使 用过程中

2、,速度达不到理想的效果。故障分析1、WebLogic服务节点挂机现象,经检查WebLogic日志,发现在服务节点挂机之前有 出u java/lang/OutOfMemoryErrorv等报错,同时domains目录下也生成有 javacore、heapdump 等文件。JVM内存使用情况*WARNING* Java heap is almost exhausted : 0% free Java heapDump Event systhrow (00040000) Detail z/java/lang/0ut0fMemoryErrorz/ receivedFree Java heap size:

3、 9,664 bytesAllocated Java heap size: 4,294,967,296 bytes目前分配给Server的4G内存已全部使用,但又未得到新的内存,出现了 OutOfMemoryError线程使用情况:从线程使用情况看,只有个别线程正在运行,其它线程均在等待或被阻塞。而运行的线程正在进行数据据访问操作检查内存使用情况:在重新调整JVM为1G的情况下,分析了内存再次溢出的DUMP文件,从下列图看出有 存内存泄漏问题,而且情况较为严重,一个class共消耗内存670M,这个泄漏对 象当前正在进行JDBC数据访问操作。在JVM为1G的条件下,根据分析结果说明,目前内存泄

4、漏问题主要表现在两个地 方:1)对象 com. XXXX. XXXX. XXXX. XXXX. model. DefectQueryVO此对象分别创立了 36414次、1239307次。2)一系列JDBC操作,这个操作说明在进行数库访问、数据交换。因此已建议开发商软件工程师检查程序并进行优化。故障处理结果将相应的表进行分区处理,优化了数据库,后来使用正常。WebLogic JVM 内存泄漏主要表现为程序中存在许多对象占用内存不能被回收,特别是大对象,导致频 繁FULL GC垃圾回收,而每次垃圾回收后又不能清理这些对象而回收占用空间,那么 系统的响应时间那么越长,当新对象屡次申请空间时又不能满足

5、需求,最终出现内存 溢出而WebLogic宕机。其中而),(b), (c)均是使用XXXX页面期间产生的3个线程 (189, 193, 194)占用情况,WebLogic自身及其它对象使用只占用了 140M。此问题经过屡次分析,均是由XXXX页面的访问引起。3、应用服务器CPU占用比拟高经检查,发现占用CPU高的进程主要是Java进程,即WebLogic Server运行 进程,通过分析JDK GC日志,发现在GC垃圾回收占用系统资源严重,而FULL GC 垃圾回收又是整个垃圾回收的重点,而每次FULL GC垃圾回收都是对那些在年轻代 区域中不能被回收的对象进行回收。同时结合观察,未进行FUL

6、L GC时,系统的CPU使用正常,但每次在FULL GC期间,系统CPU都在高位,说明CPU高与FULL GC垃圾回收有关,而FULL GC 垃圾回收那么是类似上图中的占用JVM内存较多的大对象。Oslash;首先解决运行环境的问题针对以上内存溢出和CPU的问题,首先从运行环境中寻找其解决方案。升级WebLogic 8. 1版本由SP3到SP6升级 SUN jdkl.4. 2 SR4 到 SUN jdk 1.4.2 SR19/备注:在JDK每一个新版本都解决了这前版本许多的BUG,其中包含由JDK本身 而引起的的JVM Crash Thread Lock CPU High等关键问题。经过以上处

7、理及JDK运行参数的调整后,对业务进行了压力测试,当单节点并发用 户在80个以上同时运行了 20多分钟,数据库的CPU到达100%时,而且WebLogic 进程占用CPU情况较正常,但越到最后,CPU使用情况就比拟糟糕了,但最终未出 现宕机情况,此时观察GC垃圾回收日志,主要表现为FULL GC频繁。再次处理环境外的问题根据分析FULL GC频繁的原因主要表现为大对象不能被回收,出现内存溢出,如附 图中的状况。内存溢出问题是目前应用服务器宕机的普通表现,其彻底解决方法,也只能修改程 序,调整相关参数只能起到缓解的作用。根据屡次观察及分析GC日志,根据目前32位环境的情况,目前JVM参数配置如下

8、:*-XX:+PrintGCTimeStamps -XX:+PrintGCDetai1s -XX:+PrintGCApplicationStoppedTime*-XX:+PrintGCApplicationConcurrentTime -Xms768m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m*-XX:NewRatio=2 -XX:SurvivorRatio=4 -XX:PermSize=128m -XX:MaxPermSize=256m -XX:MaxTenuringThreshold=20 -XX:+Disab1eExp1icitGC -

9、XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:ParallelGCThreads=13 -XX:+CMSPermGenSweepingEnabled -XX:+CMSParalleiRemarkEnab1ed -XX:+UseCMSCompactAtFullCollection*-XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParalleiRemarkEnab1ed复制代码,结果如下

10、:9天的普通GC垃圾回收共计29, 136次,平均间隔时间为23. 4秒进行一次,每次普通GC垃圾回收时间平均为0. 7秒;9天的FULL GC垃圾回收共计2, 313,平均间隔时间为2. 2秒进行一次,每次FULLGC垃圾回收时间平均为1.3秒,这个还是比拟严重;根据结果分析,虽然通过调整使目前环境相比之前的环境会稳定一点,但根本的问 题还是存在。Number of Full Garbage Collections : 2, 313Number of Minor Garbage Collections : 29,136Average Full Garbage Collection inter

11、val : 2, 268 millisecondsAverage Minor Garbage Collection interval : 23, 408 millisecondsAverage Full Garbage Collection duration : 1,324 millisecondsAverage Minor Garbage Collection duration : 733 milliseconds处理结果根据本次的处理,保障了 XXXX业务系统在短时间不宕机的正常运行。经过屡次分析及跟踪,宕机问题主要原因是因为程序中存在内存泄漏问题,而泄漏 位置主要是XXXXX这个页面访问

12、。4、:weblogic时指定jdk版本问题javax. xml. stream. FactoryConf igurationError: Providerjavax. xml. stream. XMLInputFactory could not be instantiated: java. lang. InstantiationException atjavax. xml. stream. XMLInputFactory. newlnstance(XMLInputFactory. java:158) atweblogic, application, descriptor. BasicMung

13、er2. (BasicMunger2. java: 76) atweblogic, application. ApplicationDescriptor$MyApplicationDescriptor. creat eXMLStreamReader(ApplicationDescriptor. java:438) atweblogic, application, descriptor. AbstractDescriptorLoader2. createDescript orBean(AbstractDescriptorLoader2. java:369) atweblogic, applica

14、tion, descriptor. AbstractDescriptorLoader2. loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2. java:720)Truncated, see log file for complete stacktrace 此问题已经解决,原来是在myeclipse中jdk版本的问题,我安装的是jdkl. 6,而 weblogic的默认版本是1. 5. 06,又长了一志。但是在每次配置域的时候选择其它 jdk版本,选择的版本比weblogic的默认版本要高,报错,这可能是版本问题。5、部署web工程到

15、weblogic中,启动weblogic出现异常: Unable to load descriptorD:beauser_projectsdomainsbase_domain. autodeploydataSwitching/WEB-INF/web. xml of module dataSwitching. The error isweblogic.descriptor. DescriptorException: Unmarshaller failed atweblogic, descriptor, internal. MarshallerFactory$l. createDescriptor

16、(Marsha llerFactory. java:147) atweblogic, descriptor. DescriptorManager. createDescriptor(DescriptorManager . java:280) atweblogic, descriptor. DescriptorManager. createDescriptor(DescriptorManager .java:248) atweblogic, application, descriptor. AbstractDescriptorLoader2. getDescriptorB eanFromRead

17、er(AbstractDescriptorLoader2. java:749)原来是web. xml中web-app版本的原因,改回2. 4即可tomcat向weblogic迁移考前须知!3、运行环境为:中文 WindowsXP SP2, Tomcat5. 5, Weblogic9. 2, JDK1. 54、启动weblogic报错 已加锁 的解决方法/base_domain/servers/AdminServer/data/store/diagnostics/WLS_DIAGNOSTICSO00000. DAT文件再启动weblogic 一般就可以了6、连接池配置问题 spring 的 da

18、tasource 在 tomcat 里配置为:java:comp/env/dsName在web logic里需要配置为dsName润乾报表的reportDefine在tomcat下配置为:JNDIPref ixjava:comp/envdataSourcedsName, oracle在weblogic里修改为:JNDIPrefix那么web logic里jndi连接池的jndi资源名称应该配置为: dsName并且必须指定 target server ,如:exmple servergetServletContext()改为getServletConfig(). getServletConte

19、xt ()NullPointerException in initSessionInfo()仅在IE出现,在FF里没有问题,需要以下2步才能撤掉消除这个问题.设置 Server, Protocols 页面里的 ,去掉 Enable Keepalives 的复选框.在WEB-INF目录下新建一个weblogic, xml文件,内容如下:weblogic-web-appxmlns=z/ :/ww. bea. com/ns/weblogic/90/z jsessionidl7、围绕字符集的问题汇总web. xml问题描述:文件本身是UTF-8格式时,Tomcat能够解析,Weblogic启动失败,提

20、示:VALIDATION PROBLEMS WERE FOUND解决方法:用window的记事本翻开web. xml,另存为ANSI格式(由于当前是中文操作系统,所以实际编码为GBK )同时修改第一行字符集信息:?xml version= 1. 0 encoding二UTF-8?由UTF-8改为GBK,否那么Weblogic还是解析失败.比拟奇怪的是UltraEdit竟然也能识别encoding设置,如果文件是ANSI格式,而encoding设置为UTF-8,那么中文显示为乱码!设成GBK就好了提示:Eclipse里所有xml格式默认为UTF-8,并且不支持encoding设置,所以打 开GBK的web. xml还是乱码所以Weblogic不支持web. xml为UTF-8格式是个缺陷?这个问题也许与web. xml的version=2. 4有关?可以把相关的配置改成Servlet2. 3的格式试试(待测试)总之用Weblogic有小麻烦jsp, include, 与 pageEncoding问题描述:在main, jsp中include另外一个part, jsp页面,这些文件都是UTF-8格式的,并且设置 ,那么pageEncoding 应该默认与 contentType 里的 charset 相同,为 UTF-8如果被incl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论