2014-11-10 4 views
-1

Java 응용 프로그램의 성능 테스트를 2 일 동안 실행하고 JConsole을 통해 모니터링했습니다. 그러나 시험이 하루 만에 끝난 후에. JConsole 출력 윈도우는 OutOfMemoryError 및 JConsole 중단을보고합니다.JConsole : java.utilMemoryError : 이벤트 전달 중

Q1) 내 응용 프로그램 또는 Jconsole 문제로 인해 발생합니까?
Q2) 문제를 해결하는 방법은 무엇입니까? JConsole의 HEAP 메모리를 늘릴 수있는 방법이 있습니까?
Q3) 장기간 실행해야하는 경우 언젠가 (종료/종료하지 않고) 원격 연결을 끊을 시간 범위를 어떻게 설정할 수 있습니까?

도와주세요. 스택 추적

enter image description here

+0

좋아, 나는 JConsole의 힙 크기를 언급하기 위해'jconsole -J-Xmx1024m'과 같은 해결책을 발견했다. –

답변

1

enter image description here

창에 텍스트를 설정하는 경우 JConsole의 메모리가 실행되고 있는지가 매우 명백합니다.

불행히도 구성 할 수있는 명령 줄 옵션이 없습니다. 거기에 당신이 그것을 구성 할 수있는 JConsole에 MBean이있을 수 있습니다,하지만 나는 거기에없는 것 같아요.

귀하의 대안이

  1. 콘솔 출력을 닫고, 당신이 그것을 필요로 할 때 단지 그것을 열거 나 콘솔 출력이 아무것도 가지고하지 않도록
  2. 이 파일을 응용 프로그램의 표준 출력 및 표준 오류를 리디렉션 할

    있습니다 그 안에.
+0

멋지다, 그 때 어디로 설정해야합니까 ..? –

+0

어쨌든이 출력을 파일로 리디렉션 할 수 있습니까? 며칠 동안 계속 진행할 수 있습니까? –

+0

출력 크기를 제한하기 위해 명령 줄 인터페이스에서 아무 것도 찾을 수 없습니다. JConsole 어플리케이션 자체에 접속 해, MBean가 존재할지 어떨지 확인해주세요. 텍스트 창없이 출력 창을 닫고 살아야합니다. 이 창은 응용 프로그램이 stdout 및 stderr로 보내는 내용을 캡처하므로 모니터링되는 응용 프로그램을 올바른 리디렉션으로 시작하면 아무런 문제가 없어야합니다. –