2012-12-11 5 views
2

최근에 우리의 GlassFish 서버가 몇 시간 동안 성공적으로 실행 된 후 CPU 중 하나가 갑자기 100 %로 빠져 나가는 문제를 발견했습니다. 이 응용 프로그램은이 시간 동안 응답이 없습니다. 다시 시작한 후에는 문제가 결국 다시 발생합니다 (대개 몇 시간 후). 글래스 피쉬 그리즐리 스레드가 100 % CPU 시간을 소비 함

내가 스레드가 뭘하고 있었는지 볼이 명령을 실행 :

및 asadmin 생성-JVM-보고서 --type = 실

을 결과 출력에서 ​​하나 개의 스레드 보였다 (크기 순서를 소모 매우 의심스러운 다른 스레드보다 더 많은 CPU 시간) :

스레드 실행 정보 :


Thread "Grizzly-kernel-thread(1)" thread-id: 27 thread-state: RUNNABLE Running in native 
    at: sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method) 
    at: sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:273) 
    at: sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:255) 
    at: sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:136) 
    at: sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69) 
    at: sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80) 
    at: com.sun.grizzly.TCPSelectorHandler.select(TCPSelectorHandler.java:513) 
    at: com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:190) 
    at: com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:132) 
    at: java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at: java.lang.Thread.run(Thread.java:662) 

스레드 동기화 통계 :이 스레드가 차단 된 시간 (모니터/입력 다시 입력)의


번호 : 4520이 스레드가 통지를 대기 시간의

번호 (즉, WAITING 또는 TIMED_WAITING 상태였습니다.) : 0

이 스레드의 총 CPU 시간 : 2,753 초 703,125,000 나노초.

이 스레드의 사용자 레벨 CPU 시간 : 2,753 초 703,125,000 나노초.

개체 모니터는 현재이 스레드가 보유 또는 요청 : []

할 수있는 싱크로 나이저 (예 : ReentrantLock와 및 ReentrantReadWriteLock)이 thread에 의해 보관 유지 : []

우리는 Windows Server 2008에서 글래스 피시 3.1.2.2을 실행 R2 엔터프라이즈. 진행 상황에 대한 통찰력은 높이 평가됩니다.

+0

어느 jdk를 사용하고 계십니까? –

+0

우리는 JDK 버전 1.6.0_37을 사용하고 있습니다. – Jeff

답변

1

JDK 문제 일 수 있습니다. Grizzly에는 이전 버전의 JDK 6이있는 Linux에서 발생하는 빈 선택자 스핀 문제에 대한 해결 방법이 있습니다. 그러나 Windows에서는 적용되지 않습니다.

Glassfish 또는 Grizzly 문제를 만들도록 요청할 수 있습니까?

+0

확인. Glassfish 문제 19444를 제출했습니다. http://java.net/jira/browse/GLASSFISH-19444 – Jeff