OSSW(Open Source System SoftWare
2009. 6. 3. 14:26
JEUS상의 문제 분석 방법
JEUS Server log분석
1) OutOfMemory인데 어떤 유형의 OOM인지 대략적으로 파악을 합니다.
2) Log size가 크면 split같은 command를 이용하여 file을 자르거나 Log pattern 검색 스크립트 같은 것을 작성하여 필터링한 로그를 가지고 따로 확인합니다.
webadmin의 gc 모니터링
GC log 분석
gc.log를 생성하여 tail –f gc.log를 하여 Full GC 횟수 및 시간등을 파악한다.
원인 파악을 위한 JVM 옵션 및 JEUS 옵션
1.SUN 및 HP
- -Xloggc:${LOG_HOME}/gc.log
2.IBM
- -verbose:gc -Xverbosegclog:${LOG_HOME}/gc.log
Thread dump를 통한 분석
급진적 증가일 때 아래와 같은 thread dump를 확인하여 문제 분석을 할 수가 있습니다.
3XMTHREADINFO "webtob2-hth0(10.10.123.23:9900)-w3" (TID:0x7000000000ACDE8, sys_thread_t:0x118365748, state:R, native ID:0x494D) prio=5
4XESTACKTRACE at java.lang.StringBuffer.append(StringBuffer.java(Compiled Code))
4XESTACKTRACE at hkmc.common_hkbs.utility.JSPHelper.replace(JSPHelper.java(Compiled Code))
4XESTACKTRACE at jeus_jspwork._kmc._kb._403_Kb06_5fText._jspService(_403_Kb06_5fText.java:164)
4XESTACKTRACE at jeus.servlet.jsp.HttpJspBase.service(HttpJspBase.java(Compiled Code))
4XESTACKTRACE at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
4XESTACKTRACE at jeus.servlet.jsp.JspServletWrapper.executeServlet(JspServletWrapper.java(Compiled Code))
4XESTACKTRACE at jeus.servlet.engine.RequestDispatcherImpl.forward(RequestDispatcherImpl.java(Compiled Code))
4XESTACKTRACE at hkmc.common_hkbs.base.HKMCBaseServlet.printJspPage(HKMCBaseServlet.java:172)
4XESTACKTRACE at hkmc.hkbs.kb.servlet.Kb06_TextServlet.performTask(Kb06_TextServlet.java:51)
4XESTACKTRACE at hkmc.common_hkbs.base.HKMCBaseServlet.performPreTask(HKMCBaseServlet.java:110)
4XESTACKTRACE at hkmc.common_hkbs.base.HKMCBaseServlet.doPost(HKMCBaseServlet.java:78)
4XESTACKTRACE at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
4XESTACKTRACE at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
4XESTACKTRACE at jeus.servlet.engine.ServletWrapper.executeServlet(ServletWrapper.java(Compiled Code))
jeus.servlet.engine.ServletWrapper.execute(ServletWrapper.java(Compiled Code))
4XESTACKTRACE at jeus.servlet.servlets.WorkerServlet.execute(WorkerServlet.java(Compiled Code))
4XESTACKTRACE at jeus.servlet.engine.WebtobRequestProcessor.run(WebtobRequestProcessor.java(Compiled Code))
3XHNATIVESTACK Native Stack
NULL ------------
3XHSTACKLINE at 0x90000000143702C in DumpThreadDetails
3XHSTACKLINE at 0x9000000012B231C in xmDumpThreadsHelper
3XHSTACKLINE at 0x9000000012B25E8 in xmDumpRoutine
3XHSTACKLINE at 0x9000000012D8F40 in dgGenerateJavacore
3XHSTACKLINE at 0x9000000012D746C in dgDumpHandler
3XHSTACKLINE at 0x900000001354C7C in manageAllocFailure
3XHSTACKLINE at 0x900000001311044 in lockedHeapAlloc
3XHSTACKLINE at 0x9000000013139CC in realObjAlloc
3XHSTACKLINE at 0x900000001314884 in targetedAllocMiddlewareArray
3XHSTACKLINE at 0x90000000149DE3C in _jit_newarray
3XHSTACKLINE at 0x90000000169BBF0 in java_lang_Compiler_start