2011-09-21 3 views
0

install4j를 사용하여 Java 응용 프로그램의 설치 프로그램을 만들었습니다. JDK1.6에서 실행되며 Jetty를 웹 서버로 사용하고 struts2를 MVC로 사용합니다. 응용 프로그램이 잘 설치되고 exe 파일이 올바르게 작성됩니다. exe 파일을 두 번 클릭하여 응용 프로그램을 시작하면 응용 프로그램이 시작되고 정상적으로 시작되며 모든 기능이 올바르게 작동합니다. 응용 프로그램을 시작한 후 약 30 ~ 40 초가 지나면 exe 프로세스가 거의 모든 CPU 성능 (최대 99 %)을 사용하고 있음을 알게되었습니다. 내 PC에서 다른 응용 프로그램을 사용하기가 너무 어렵습니다. 이것은 Windows XP 및 Vista에서만 발생합니다. 그러나 Windows 7에서이 문제를 해결할 수는 없습니다. Windows XP 및 Vista 컴퓨터 사양은 매우 좋습니다 (3GHZ 프로세서, 4GB RAM 포함).install4j를 사용하여 만든 exe가 실행 후 30-40 초 후에 모든 CPU를 사용합니다.

나는 응용 프로그램을 시작한 후 30 초에서 40 초가 지나면 exe가 모든 CPU를 소비하는 이유를 알지 못합니다. 스레드가없고 배경 작업자도없고 논리 처리가 전혀 없습니다. 그것은 매우 단순한 MVC 애플리케이션입니다. 사실 문제는 단지 응용 프로그램을 열어 본 다음 30 초에서 40 초 (사용하지 않고)와 CPU 사용량이 높을 때까지 기다리는 것입니다.

작업 관리자에서 나는 2 개의 프로세서가 생성되었다는 것을 알아 차렸는데, 하나는 exe이고 다른 하나는 애플리케이션을 시작하는 동안 exe가 만든 Java 프로세서 용입니다. Java 프로세스가 유휴 상태 일 때 exe 프로세스 만 99 %의 CPU를 사용합니다.

어떤 얼굴이 비슷한가요? 어떤 도움을 주셔서 감사합니다. 감사합니다,

+0

안녕 Motokazi, 당신이 프로젝트에 install4j를 구성하는 방법을보고 정말 관심이있을 것입니다, 당신은 구성을 공유 할 수있는 기회가있다? – Armand

답변

0

VisualVM을 사용하여 Java 프로세스를 살펴 보았습니까? 이것은 JDK 설치의 일부입니다. 실행중인 Java 프로그램에 연결하여 샘플/프로파일을 매우 철저하게 처리 할 수 ​​있습니다.

VisualVM

+0

사실 나는 그렇게하지 않았다. 나는 VisualVM 도구에 대해 몰랐다. 나는 그것을 시험해보고 나의 발견을 게시하지만 포인터에 감사드립니다. – Motokazi

관련 문제