Redhat Linux의 Weblogic 프로세스가 갑자기 종료되었습니다.

Redhat Linux의 Weblogic 프로세스가 갑자기 종료되었습니다.

내 프로세스 중 하나가 새벽에 종료되었습니다.

이 서버에서는 6개의 프로세스가 실행 중입니다. 하지만 프로세스 하나만 종료되었습니다.

어떻게 해결해야 할지 모르겠습니다. 이는 프로세스가 종료되기 전 Weblogic의 마지막 로그입니다.

/app/orarecp/bea/domains/HRRECP/bin/startWeblogic.sh: line 180: 27066 killed               ${JAVA_HOME}/bin/java ${JAVA_VM} {MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava-security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTION} ${PROXY_SETTINGS} ${SERVER_CLASS}

이것은 startWeblogic 쉘 스크립트입니다. Weblogic Shell 스크립트 시작: 180행


이는 프로세스를 시작하는 쉘 스크립트의 일부입니다.

USER_MEM_ARGS="-Xms3072m -Xmx3072m -Xverbose:gc -Xverboselog:${LOG_HOME}/gclogs/gc.${SERVER_NAME}_`date + '%Y%m%d_%H%M%S'`.out"

JAVA_OPTION="${JAVA_OPTIONS} -Xbootclasspath/p:/app/orarecp/jennifer/agent/lwst.jdk.jar:/app/orarecp/jennifer/agent/lwst.boot.jar:/app/orarecp/jennifer/agent/jennifer.boot.jar -Djennifer.config=/app/orarecp/jennifer/agent/R11.conf -javaagent:/app/orarecp/jennifer/agent/lwst.javaagent.jar -Dframeone.webapps=/svcroot/runtime/webapps -Dfile.encoding=UTF-8 -Djava.security.egd=file:///dev/urandom"



서버 사양은..

  • CPU: 8코어, 2.4GHz // CPU 사용률이 15% 미만인 시간
  • 메모리: 32GB
    • 메모리: 총 32922024k, 사용된 32817492k, 여유 공간 104580k, 버퍼 147464k
    • 스왑: 총 33551744k, 148k 사용됨, 33551596k 무료, 15231864k 캐시됨


서버스택은...

  • 네트워크 로직 11g
  • jrockit 1.6
  • Red Hat Linux 5.8(64비트)



프로세스가 종료되는 이유를 알고 싶습니다. 나는 무엇을 해야 합니까?

더 많은 정보가 필요하시면 답변 부탁드립니다.

모든 답변은 나에게 도움이 될 것입니다.


감사해요.


추가 정보.

  1. 마지막 로그 이전이지만 이 로그가 자주 나타납니다.

<[ServletContext@228988411[app:Recruit-Front module:WebContent path:/recruit spec-version:2.5]] 서블릿이 예외로 인해 실패했습니다.

java.lang.NullPointerException at cj.recruit.syscommon.filter.SessionLocaleFilter.doFilter(SessionLocaleFilter.java:41) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) atframeone.core.common.web. filter.EnvironmentSetupFilter.doFilter(EnvironmentSetupFilter.java:88) in weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) in cj.recruit.syscommon.filter.CrossScriptingFilter.doFilter(CrossScriptingFilter.java:22) in weblogic weblogic.servlet.internal.WebAppServletContext$ServletInitationAction.wrapRun(WebAppServletContext.java:3730)의 .servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56), weblogic.servlet.internal.WebAppServletContext$ServletInitationAction.run(WebAppServletContext.java) :3696) in weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) in weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) in weblogic.servlet.internal.WebAppServletContext.securedExecute( WebAppServletContext.java:2273) weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179) weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490) weblogic.work.ExecuteThread.execute(ExecuteThread ) .java:256) weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

<[ServletContext@228988411[app:Recruit-Front 모듈:WebContent 경로:/recruit spec-version:2.5]] java.lang.NullPointerException 예외로 인해 서블릿이 실패했습니다.

cj.recruit.syscommon.filter.SessionLocaleFilter.doFilter(SessionLocaleFilter.java:41), weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56),frameone.core.common.web.filter.EnvironmentSetupFilter.doFilter (EnvironmentSetupFilter.java:88) weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at cj.recruit.syscommon.filter.CrossScriptingFilter.doFilter(CrossScriptingFilter.java:22) at weblogic.servlet.internal. weblogic.servlet.internal.WebAppServletContext$ServletInitationAction.wrapRun(WebAppServletContext.java:3730)의 weblogic.servlet.internal.WebAppServletContext$ServletInvocalAction.run(WebAppServletContext.java:3696)의 FilterChainImpl.doFilter(FilterChainImpl.java:56) weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)의 weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)의 .security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) )) weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)에서 weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)에서 weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)에서 ) weblogic.work.ExecuteThread.run(ExecuteThread.java:221)에서

  1. 다른 JAVA 프로세스(ps -ef | grep java)

ps-ef |

  1. 다른 서버 Java 프로세스

    ps-ef |

oraehrp 818 786 0 19:34 pm/1 00:00:00 grep java

root9689 1 1 2015? 1-01:05:58 /usr/java/jdk1.6.0_23/bin/java -Djava.awt.headless=true -jar /app/CJ_agent //cjagent.jar /app/CJ_agent //conf/cjagent.conf

oraehrp 10128 10074 2 2015 ? 1-10:06:08 /usr/java/jrockit1.6/bin/java -jrockit -Xms1024m -Xmx1024m -Dweblogic.Name=EHRREP1 -Djava.security.policy=/app/oraehrp/bea/wlserver_10.3/server /lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.security.SSL.trustedCAKeyStore=/app/oraehrp/bea/wlserver_10.3/server/lib/cacerts -Dframeone.webapps=/svcroot/runtime/webapps -Dfile .encoding=UTF-8 -Djava.security.egd=file:///dev/urandom -da -Dplatform.home=/app/oraehrp/bea/wlserver_10.3 -Dwls.home=/app/oraehrp/bea/ wlserver_10.3/server -Dweblogic.home=/app/oraehrp/bea/wlserver_10.3/server -Dweblogic.management.discover=false -Dweblogic.management.server=t3://52.2.205.138:7001 -Dwlw.iterativeDev =false-Dwlw.testConsole=false-Dwlw.logErrorsToConsole=false-Dweblogic.ext.dirs=/app/oraehrp/bea/patch_wls1036/profiles/default/sysext_manifest_classpath:/app/oraehrp/bea/patch_ocp371/profiles/default/sysext_manifest_classpath 네트워크 논리 서버

oraehrp 14795 14740 2 2015 ? 1-10:31:48 /usr/java/jrockit1.6/bin/java -jrockit -DAdminServer -Xms1024m -Xmx1024m -verbosegc -Dweblogic.Name=AdminServer -Djava.security.policy=/app/oraehrp/bea/wlserver_10 .3/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -da -Dplatform.home=/app/oraehrp/bea/wlserver_10.3 -Dwls.home=/app/oraehrp/bea/wlserver_10.3/server -Dweblogic.home=/app/oraehrp/bea/wlserver_10.3/server -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs= /app/oraehrp/bea/patch_wls1036/profiles/default/sysext_manifest_classpath:/app/oraehrp/bea/patch_ocp371/profiles/default/sysext_manifest_classpath weblogic.Server

oraehrp 23456 23395 67 18:25? 00:46:23 /usr/java/jrockit1.6/bin/java -jrockit -Xms2048m -Xmx2048m -Xns:256m -Xverbose:gc -Xverboselog:/svcroot/logs/was/domains/HREHRP/EHRPRD11/gclogs/gc .EHRPRD11_20160201_182544.out -Dweblogic.Name=EHRPRD11 -Djava.security.policy=/app/oraehrp/bea/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.security.SSL.trustedCAKeyStore= /app/oraehrp/bea/wlserver_10.3/server/lib/cacerts -Dweblogic.threadpool.MinPoolSize=100 -Xbootclasspath/p:/app/oraehrp/jennifer/agent/lwst.jdk.jar:/app/oraehrp/jennifer /agent/lwst.boot.jar:/app/oraehrp/jennifer/agent/jennifer.boot.jar -Djennifer.config=/app/oraehrp/jennifer/agent/E11.conf -javaagent:/app/oraehrp/jennifer/ 에이전트/lwst.javaagent.jar -Dframeone.webapps=/svcroot/runtime/webapps -Dfile.encoding=UTF-8 -Djava.security.egd=file:///dev/urandom -da -Dplatform.home=/app /oraehrp/bea/wlserver_10.3 -Dwls.home=/app/oraehrp/bea/wlserver_10.3/server -Dweblogic.home=/app/oraehrp/bea/wlserver_10.3/server -Dweblogic.management.discover=false -Dweblogic.management.server=t3://52.2.205.138:7001 -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/app/oraehrp/bea/patch_wls1036/ 프로필/default/sysext_manifest_classpath:/app/oraehrp/bea/patch_ocp371/profiles/default/sysext_manifest_classpath weblogic.Server

oraehrp 24233 24179 49 18:27? 00:33:03 /usr/java/jrockit1.6/bin/java -jrockit -Xms2048m -Xmx2048m -Xns:256m -Xverbose:gc -Xverboselog:/svcroot/logs/was/domains/HREHRP/EHRPRD12/gclogs/gc .EHRPRD12_20160201_182747.out -Dweblogic.Name=EHRPRD12 -Djava.security.policy=/app/oraehrp/bea/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.security.SSL.trustedCAKeyStore= /app/oraehrp/bea/wlserver_10.3/server/lib/cacerts -Dweblogic.threadpool.MinPoolSize=100 -Xbootclasspath/p:/app/oraehrp/jennifer/agent/lwst.jdk.jar:/app/oraehrp/jennifer /agent/lwst.boot.jar:/app/oraehrp/jennifer/agent/jennifer.boot.jar -Djennifer.config=/app/oraehrp/jennifer/agent/E12.conf -javaagent:/app/oraehrp/jennifer/ 에이전트/lwst.javaagent.jar -Dframeone.webapps=/svcroot/runtime/webapps -Dfile.encoding=UTF-8 -Djava.security.egd=file:///dev/urandom -da -Dplatform.home=/app /oraehrp/bea/wlserver_10.3 -Dwls.home=/app/oraehrp/bea/wlserver_10.3/server -Dweblogic.home=/app/oraehrp/bea/wlserver_10.3/server -Dweblogic.management.discover=false -Dweblogic.management.server=t3://52.2.205.138:7001 -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/app/oraehrp/bea/patch_wls1036/ 프로필/default/sysext_manifest_classpath:/app/oraehrp/bea/patch_ocp371/profiles/default/sysext_manifest_classpath weblogic.Server

오라헵25006 24944 53 18:29 ? 00:34:35 /usr/java/jrockit1.6/bin/java -jrockit -Xms2048m -Xmx2048m -Xns:256m -Xverbose:gc -Xverboselog:/svcroot/logs/was/domains/HREHRP/EHRPRD13/gclogs/gc .EHRPRD13_20160201_182933.out -Dweblogic.Name=EHRPRD13 -Djava.security.policy=/app/oraehrp/bea/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.security.SSL.trustedCAKeyStore= /app/oraehrp/bea/wlserver_10.3/server/lib/cacerts -Dweblogic.threadpool.MinPoolSize=100 -Xbootclasspath/p:/app/oraehRP/jennifer/agent/lwst.jdk.jar:/app/oraehrp/jennifer /agent/lwst.boot.jar:/app/oraehrp/jennifer/agent/jennifer.boot.jar -Djennifer.config=/app/oraehrp/jennifer/agent/E13.conf -javaagent:/app/oraehrp/jennifer/ 에이전트/lwst.javaagent.jar -Dframeone.webapps=/svcroot/runtime/webapps -Dfile.encoding=UTF-8 -Djava.security.egd=file:///dev/urandom -da -Dplatform.home=/app /oraehrp/bea/wlserver_10.3 -Dwls.home=/app/oraehrp/bea/wlserver_10.3/server -Dweblogic.home=/app/oraehrp/bea/wlserver_10.3/server -Dweblogic.management.discover=false -Dweblogic.management.server=t3://52.2.205.138:7001 -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/app/oraehrp/bea/patch_wls1036/ 프로필/default/sysext_manifest_classpath:/app/oraehrp/bea/patch_ocp371/profiles/default/sysext_manifest_classpath weblogic.Server

답변1

이는 메모리 부족으로 인해 발생합니다. 사용 가능한 RAM(사용 가능 + 버퍼)은 300MB보다 약간 적으며 각각의 새로운 weblogic Java 인스턴스는 3GB를 차지합니다.

Linux 커널에는 메모리가 부족할 때마다 무작위 프로세스를 종료하는 OOM Killer라는 기능이 있습니다.

Linux Out of Memory Killer를 구성하는 방법

JAVA 매개변수와 런어웨이 Java 스크립트를 살펴보세요. 당신은 사용하고 있습니다많은 기억.

Java Xms/Xmx를 미세 조정해야 하는지 또는 서버에 RAM을 추가해야 하는지 평가하십시오.

이제 WebLogic 요구 사항을 검토할 기회가 생겼습니다. ~처럼WebLogic JVM 힙 크기 사용자 정의상태:

WebLogic의 기본 JVM 힙 크기는 3GB입니다. ... USER_MEM_ARGS="-Xms128m -Xmx3072m ...

128m에 유의하세요. 권장 구성은 프로세스를 시작할 때 128m를 제공하고 필요에 따라 3GB까지 늘리는 것입니다.

Xms는 할당된 최소 메모리이고 Xmx는 최대 메모리입니다. Xms를 128m으로 변경하면 스레드는 기본 3GB 대신 시작 시 필요한 메모리만 한 번에 사용합니다. 시간이 지남에 따라 메모리 사용량이 줄어들 수 있습니다.

~에서JVM을 시작할 때 Xms 및 Xmx 매개변수는 무엇입니까?

Xmx 플래그는 JVM(Java Virtual Machine)에 대한 최대 메모리 할당 풀을 지정하고 Xms는 초기 메모리 할당 풀을 지정합니다. 메모리 플래그는 킬로바이트, 메가바이트 등과 같은 여러 크기를 지정할 수도 있습니다.

또한 현재 가지고 있는 값이 올바른 작동에 충분하지 않기 때문에(예: 너무 낮음) 이 변경 후에 더 많은 RAM이 필요한지 평가할 것입니다.

관련 정보