2014-04-10 1 views
0

Windows와 GNU/Linux에서 모두 실행해야하는 Java 응용 프로그램을 작성했으며 작동합니다. 내가 가진 유일한 문제는 GNU/Linux에서 Windows보다 훨씬 더 많은 CPU를 사용한다는 것입니다. 약 15 배 더! 시작하는 데 몇 초 정도 걸립니다. 그것에 대해 할 수있는 일이 있습니까? 은 현재 내가이 명령 줄을 사용하고 있습니다 : -XX : CompileThreshold = 5GNU/Linux의 Java 성능

감사

+3

일부 코드 또는 프로파일 러 출력을 표시해야합니다. – Thilo

+0

글쎄, 꽤 많은 코드를 게시하고 있습니다. 프로파일 러에서 볼 수있는 유일한 특이한 점은 실행하는 데 2 ​​초 정도 걸리며 사운드 카드가 있는지를 확인하기 위해 사운드 채널을 여는 것입니다. – dosse91214

답변

1

내가 조금 주위에 검색 좀하고 나중에 자바 7이 플래그를 발견

-XX:+TieredCompilation 

그것은 제거 느린 시동 및 CPU 남용은 지금 훨씬 낮습니다

+0

이것이 더 잘 작동하는 이유에 대한 조사를 해보십시오. 그러면 응답이 미래의 독자에게 더욱 유용해질 것입니다. –

+0

분명히이 플래그는 "부분적으로"컴파일하고 필요한 경우에만 "프로파일 러 데이터를 기반으로"작업을 가속화합니다. 아마도 -XX : CompileThreshold = 5가 아니라 자동으로 생성 된 매개 변수가 5 인 것 같아요. "부분적으로 컴파일하는"것이 무슨 의미인지 전혀 모르겠지만, 아마도 x86의 일부 바이트 코드가있는 것일까 요? – dosse91214