로깅 용으로 log4j2를 사용하고 있습니다. tomcat8 및 java8 버전입니다. 속성 "monitorInterval"을 사용하여 정기적으로 내 log4j2.xml을 확인했습니다. 종료 중에 내 바람둥이 나는 메모리 누수 문제를 직면하고있어.이 메모리 누수 문제를 해결하는 방법?log4j2 스레드의 Tomcat 메모리 누수 문제
06 ~ 10 2016 15 : 13 :
아래는 카탈 로그로 경고 55.927 [로컬 호스트 - startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads 웹 응용 [mywebapp]가 [Log4j2-Log4j2Scheduled-1]이라는 스레드를 시작한 것으로 보이지만 중지하지 못했습니다. 메모리 누수가 발생할 가능성이 큽니다. 스레드의 스택 추적 : sun.misc.Unsafe.park (기본 메소드) java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:215) java.util.concurrent.locks.AbstractQueuedSynchronizer $ ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2078) java.util.concurrent.ScheduledThreadPoolExecutor $ DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1093) java.util.concurrent.ScheduledThreadPoolExecutor $ DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:809) 있는 java.util. concurrent.ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:1067) java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1127) java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:617) 자바 .엘 ang.Thread.run (Thread.java:745)
미리 감사드립니다. .. 나는 실제로 로거 문맥 Log4jServletContextListener가 파괴되면 다시 initilising되고, 내 로그를 분석
2016년 10월 22일 13 :
업데이트 49 : 36347 로컬 호스트-startStop-2 DEBUG Log4jServletContextListener는 보장 Log4j가 올바르게 종료됩니다. 2016년 10월 22일 13 : 49 : 실제로 36,382 - 로컬 호스트 startStop -2- DEBUG 시작 LoggerContext [NAME = bb4719, [email protected]] ...
내 응용 프로그램에서는 web.xml에서 Spring ContextLoaderListner를 사용하므로 내부적으로 로깅을 사용하여 스프링 리스너를 파손시킬 수 있습니다.
감사합니다.
catalina 속성 또는 log4j라는 줄을 붙여 넣을 수 있습니까? – bhantol
https://issues.apache.org/jira/browse/LOG4J2-1259 – bhantol
나는 log4j2-1259를 들여다 보았다. 결론을 제대로 얻지 못했다. – Reetika