2011-04-27 2 views
1

Linux 시스템에서 프로덕션을 위해 배포 할 웹 응용 프로그램이 있습니다. 컴퓨터는 JBoss 4.2.3에서 실행되며 앞에서는 Apache Web Server의 최신 버전 (mod_jk 사용)이됩니다. 이것이 시스템에있는 유일한 두 응용 프로그램입니다. 서버의 RAM 용량은 1.7GB입니다. 이 프로덕션 환경에서 JBoss의 최적의 최소 (-Xms) 및 최대 (-Xmx) 힙 크기를 찾는 방법에 대한 정보 나 참조 정보를 제공해 주시면 감사하겠습니다.JBoss에 최적의 최소 및 최대 힙 크기 지정

감사

답변

3

최적의 힙 크기를 찾는 좋은 방법은 VisualVM (http://hillert.blogspot.com/2010/01/remote-profiling-of-jboss-using.html)을 사용하고 테스트를로드하는 것입니다. 이렇게하면로드시 힙 사용량과 가비지 수집이 발생하는 빈도 및 빈도를 시각화 할 수 있습니다. 이 신사들이 제안한 번호 (예 : 700mb에서 1024mb 사이의 귀하의 경우)를 선택하여 인스턴스를로드하고 메모리 프로파일을 관찰하십시오. 1.7GB가 대부분의 프로덕션 응용 프로그램에 충분하지 않다고 생각됩니다. 이것은 일반적으로 gc thrashing, 응답이 좋지 않은 시간 및/또는 outofmemoryerrors를 많이 사용하여 뾰족한 cpu 차트 라인으로 나타납니다. 요점은 테스트 할 때까지는 알 수 없다는 것입니다.

1

음, 일반적뿐만 아니라 각 응용 프로그램의 부하 OS에 따라 달라집니다,하지만 난 얼마나 많은 OS와 아파치 있습니다에 모습을 가지고 1024 1280로 최대 힙 크기를 설정 거라고 + 스파이크를위한 약간의 버퍼 사용.

1

모든 응용 프로그램마다 서로 다른 요구 사항이 있기 때문에 상황에 맞는 최적의 대답을 제공하기가 어려울 수 있습니다. 일반적으로 JVM 힙에 서버 메모리의 60 %를 할당하면 서버가 Apache와 Java 만 실행 중일 때 잘 작동하는 것으로 나타났습니다.

귀하의 서버에 -Xms1g -Xmx1g을 권하고 싶습니다. 따라서 OS 오버 헤드, 힙 (예 : 영구 생성 및 스택 크기 × 스레드 수)을 능가하는 Apache 및 Java 메모리를위한 충분한 공간이 있어야합니다. 응용 프로그램을 시험하고 프로파일 링하여 안정성이 있는지 확인해야합니다.