웹 응용 프로그램을 개발하고 jBoss 4.0.2를 사용하고 Eclipse를 여러 번 재배포 할 때 jBoss 메모리가 부족하여 충돌이 발생합니다. 그리고 프로덕션 환경에 새 버전을 설치해야 할 때 프로덕션 서버 메모리를 사용하게되므로 jBoss가 고객 서버의 메모리를 다시 배치하지 못하도록해야합니다. 이 문제에 대한 해결 방법이 있습니까?jBoss 4.0.2 동일한 WAR를 여러 번 배포하면 PermGem/Out-of-Memory 오류로 인해 jBoss가 충돌합니다.
답변
기본적으로 아니요. JBoss 클래스 로더가 작동하는 방식 때문에 각 배포는 응용 프로그램이 배포 취소 된 경우에도 배포되지 않을 PermGen 덩어리를 사용합니다.
PermGen 메모리 풀 크기를 수백 메가 (또는 심지어 작전)까지 늘리면 증상을 완화 할 수 있으므로 문제가 더 쉽게 생깁니다. 나는 또한 코드에서 정적 필드의 사용을 줄이면 (특히 대형 객체를 참조하는 정적 필드) PermGen에 대한 영향이 줄어든다는 것을 발견했습니다.
이상적으로는 프로덕션 환경에서 핫 전개를 사용하지 않고 서버를 종료하고 WAR/EAR을 대체 한 다음 다시 시작하십시오.
연결되어 있는지 확실하지 않지만 의심 스럽습니다. JBoss는 응용 프로그램 분리를 구현하는 한 J2EE와 호환되지 않습니다.
모든 클래스가 들어있는 클래스 로더가 있으므로 클래스를 언로드 할 수 없으므로이 문제가 발생합니다. 이 점에서 J2EE와 호환되도록 jboss를 구성 할 수 있습니다.
"메모리가 부족합니다."또는 메모리가 부족합니까?
또한 JProfiler를 연결하고 메모리 사용을 확인하여 작업을 진행했습니다.
나는 항상 Jboss를 다시 시작했다. 시간이 너무 많이 걸리지 않았다.
-XX : + UseConcMarkSweepGC -XX : + CMSPermGenSweepingEnabled -XX : + CMSClassUnloadingEnabled -XX :를 MaxPermSize = 128m
CMS 수 실제로 GC를
(Sun의 Java에 적용되는)이 시도 영구 생성 힙 (클래스가있는 힙) MaxPermSize 설정은 필요하지 않지만 응용 프로그램 서버의 기본값은 낮습니다.
- 1. JBoss - JBoss가 실행중인 것과 동일한 JDK에서 컴파일해야합니까?
- 2. Android 앱이 코드 오류로 인해 충돌합니다. 로그캣 메시지를 이해하지 못합니다.
- 3. 동일한 캐시 영역에 여러 번 복제 방지 (동시성으로 인해)
- 4. 여러 번 회전하면 내 응용 프로그램이 충돌합니다.
- 5. ILMerge 오류로 인해 빌드
- 6. 동일한 객체에 여러 번 호출 -
- 7. 동일한 JS 함수 - 여러 번?
- 8. 동일한 기능을 여러 번 변경하십시오.
- 9. Extjs 4.0.2
- 10. 동일한 JBoss 서버에 여러 서비스가 있습니까?
- 11. 미확인 외부 기호 오류로 인해
- 12. GWT : 직렬화 오류로 인해 당황했습니다
- 13. JBOSS 구성
- 14. 폼 처리로 인해 아파치가 충돌합니다.
- 15. 버그로 인해 MySQL이 계속 충돌합니다.
- 16. 동일한 JBoss 서버에 동일한 EJB 및 클래스의 여러 버전 배포
- 17. Windows에서 JBoss가 제대로 실행됩니까?
- 18. JBOSS가 PDF, XLS를 생성합니다.
- 19. JBoss 4.0.2 war deploy에 WEB-INF/lib jars가 없습니다.
- 20. OSX에서 세분화 오류로 인해 pthread_join이 일시적으로 중단됨
- 21. 데이터를 여러 번 정렬 할 때 테이블이 충돌합니다.
- 22. Glassfish 시작 오류로 인해 응용 프로그램이 503 오류로 표시됨
- 23. 동일한 특성을 여러 번 혼합하기위한 규칙
- 24. 동일한 패널을 여러 번 표시하려면 어떻게해야합니까?
- 25. Maven에서 동일한 플러그인을 여러 번 실행 중
- 26. 파이썬에서 동일한 파일을 여러 번 읽는 중
- 27. 동일한 모델의 habtm을 여러 번 사용하십시오
- 28. 보기에 동일한 하위보기를 여러 번 추가하십시오.
- 29. NSMutableArray 여러 번 문제에 동일한 NSDictionary 추가
- 30. 동일한 문자를 다른 문자열로 여러 번 바꾸기