|
哈哈,我出差回来啦!
请按照以下方法进行改进系统性能:
1、在JVM参数中增加 -Xk20000 -Xp10240K,512K 参数
即server.xml中的参数
genericJvmArguments="-Dclient.encoding.override=GBK -Dfile.encoding=GBK"
改为
genericJvmArguments="-Dclient.encoding.override=GBK -Dfile.encoding=GBK -Xk20000 -Xp10240K,512K"
2、从您的javacore文件中,我们可以非常清晰地指出本系统应用可能存在两个问题。
a)
可能系统存在内存泄漏,当并不是特别确切,希望能从native_stderr.log中查看verboseGC 垃圾回收的具体日志信息,来定位是否存在内存泄漏。
以下信息是从您给出的javacore中所获得的:
***WARNING*** Java heap is almost exhausted : 5% free Java heap
Please enable verbosegc trace and use IBM Pattern Modeling and Analysis Tool(http://www.alphaworks.ibm.com/tech/pmat) to analyze garbage collection activities.
If heapdumps are generated at the same time, please use IBM HeapAnalyzer(http://www.alphaworks.ibm.com/tech/heapanalyzer) to analyze Java heap.
Java Heap Information
Maximum Java heap size : 2048m
Initial Java heap size : 512m
GC Counter: 100
AF Counter: 100
Free Java heap size: 54,979,688 bytes
Allocated Java heap size: 1,056,963,072 bytes
b)
您给出的javacore中大部分(约占80%)的java 线程都在进行以下方法操作
Thread Name : WebContainer : 131
State : Waiting on condition
Java Stack
at java.lang.Object.wait(Native Method)
at java.io.PipedReader.read(PipedReader.java:217)
at java.io.PipedReader.read(PipedReader.java:268)
at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
at org.apache.xerces.impl.XMLEntityScanner.skipString(Unknown Source)
at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown Source)
at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown Source)
at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(Unknown Source)
at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(Unknown Source)
at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown Source)
at com.ibm.etools.svgwidgets.util.SVGTranscode.transcode2JPEG(SVGTranscode.java:207)
at com.ibm.etools.svgwidgets.util.SVGTranscode.transcode2JPEG(SVGTranscode.java:165)
at com.ibm.ws.console.tpv.svg.AGraphProvider.writeImage(AGraphProvider.java:89)
at com.ibm.ws.console.tpv.action.ChartGenerator.execute(ChartGenerator.java:101)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:275)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1486)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
从日志从可以看出大部分java servlet线程都被 IBM Web Console主控台中的Tivoli Performance Viewer性能查看器所占用,从而导致应用服务器不能正常对外提供服务。
出现这种问题,可能是WAS的Bugs。那么我们只用从使用方面来避免此问题:即关闭PMI性能查看,不使用此功能!
但愿以上建议能解决您的问题!
祝好运!!! |
|