많은 데이터를 구독하고이 데이터를 다양한 방법으로 표시하는 Java 스윙 응용 프로그램이 있습니다. 로드가 많은 상황에서 JRE가 "Java (TM) Platform SE 바이너리가 작동을 멈췄습니다."라는 메시지로 인해 작업이 중지된다는 것을 알게되었습니다. 이것은 분명히 내 응용 프로그램을 종료하고 다시 시작해야합니다. 내 코드 또는 내가 할 수있는 일은 stacktrace가 없지만 JRE를 업그레이드/다시 설치하고 바이러스 검사를 실행하는 것 외에는 거의 유용한 정보를 찾지 못했기 때문에이 문제를 해결하는 방법을 찾기 위해 Google에 노력했습니다. 이 두 조치를 모두 수행하고 서버를 재부팅했지만 문제는 계속 발생합니다. 자바 VisualVM (아래 덤프 참조)으로 프로세스를 모니터하려고했지만이 도구에 대한 전문가가 아니며 무엇을 찾아야할지 모를 수도 있습니다. 내가 만든 관찰은 '충돌'이 가비지 수집과 일치하는 것 같습니다.Java SE 바이너리 충돌
문제는 재생하기가 쉽고 응용 프로그램 실행 후 약 10 분 후에 발생합니다. 특정 jvm 매개 변수로 응용 프로그램을 실행하지 않습니다. Java 버전은 1.6.0_31 (업그레이드 전 _25)이었고 Windows 7 64 비트에서 실행됩니다.
VisualVM의 아래 그림에서 Java 바이너리가 GC 실행과 동시에 작동하는 것으로 나타났습니다.
문제를 해결하거나 해결할 수있는 도움이나 아이디어가 있으면 크게 환영합니다. 감사.
JNI 확장을 사용하고 있습니까? –
GC가 제대로 작동하지 않는 것 같습니다. – kosa
@DmitryOvsyanko No. – hgus1294