Java (웹) 응용 프로그램은 JBoss 6x에서 실행됩니다. 는 속도 저하가보고되었을 때 :로거에서 차단 된 Java 스레드
- 스레드 스택 덤프는
- 메모리를 조사 하였다 (아래 세부 사항)를 촬영했다 - 메모리 사용량이 거의 최대 힙 크기를 허용 접촉, 매우 높은 것으로 판명,하지만 메모리의 어떤 부족했다.
스레드 스택 덤프 오류가 이러한 종류의 로깅에서 차단 대부분의 스레드를 보여줍니다
waiting for monitor entry [0x000000004b6be000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.jboss.logmanager.handlers.WriterHandler.doPublish(WriterHandler.java:59)
- waiting to lock <0x00002aaac9a2de68> (a java.lang.Object)
at org.jboss.logmanager.ExtHandler.publish(ExtHandler.java:64)
을 그리고 다음과 같이 :
는java.lang.Thread.State: BLOCKED (on object monitor)
at java.io.PrintStream.println(PrintStream.java:756)
- waiting to lock <0x00002aaac9817a08> (a com.whatever.SomeClass)
at com.something.ThatClass.thatMethod(ThatClass.java:169)
com.whatever.SomeClass는 org.apache를 사용 .log4j.Logger
Log4j를 로깅 용으로 사용합니다.
일부 로깅 작업에서 스레드가 모두 차단 된 것처럼 보입니다. 이 문제는 과거에도 발생했으며 무작위 적으로 나타나고 응용 프로그램의 속도가 느려지거나 중지됩니다.
아이디어가 있으십니까?
.log 파일의 모든 파일 작업이 동시에 수행 될 수 있습니다. – TheWhiteRabbit
최근 log4j.xml의 RollingFileAppender에 대해 MaxBackupIndex 크기가 1000으로 설정되었습니다 (MaxFileSize는 5MB 임). MaxBackupIndex에 대한 그런 높은 가치가이 우려/문제의 원인이 될 수 있습니까? - – Jasper