소개
이 문서에서는 VXML(Voice XML) 서버의 메모리 부족 및 보고서 발생 문제를 설명합니다.
java.lang.OutOfMemoryError: PermGen space
문제
경우에 따라 VXML Server/Tomcat이 충돌하고 OutOfMemoryError 메시지를 표시합니다.
이러한 코드 조각은 VXML 서버 애플리케이션 오류 로그에서 확인할 수 있습니다.
Exception in thread "Message Buffering Thread Error with admin
application update,xx/xx/2013 xx:xx:xx.xxx, The error was:
There was a problem loading classes local to the application
<application Name>. The root cause was:
java.lang.OutOfMemoryError: PermGen space
com.audium.server.AudiumException: There was a problem loading
classes local to the application <applicationname>
.at com.audium.server.controller.AudiumServerConfiguration.
loadLocalClasses (AudiumServerConfiguration.java:1405)
at com.audium.server.controller.AudiumServerConfiguration.
<init>(AudiumServerConfiguration.java:212)
Caused by: java.lang.OutOfMemoryError: PermGen space
솔루션
CVP(Customer Voice Portal)를 실행하고 OutOfMemoryError 메시지를 발견한 경우 해결 방법은 다음 단계를 참조하십시오.
가상 메모리 증가
대부분의 경우 가상 메모리가 증가하면 도움이 됩니다.CVP 버전 8.5 및 9.0에서 가상 메모리를 늘리려면 다음 단계를 완료하십시오.
Windows 2003
- 다음으로 이동:
시작 > 실행 > 재편집
HKLM\SOFTWARE\Apache Software Foundation\Procrun2.0\VXMLServer\
Parameters\Java\Options
- 가상 메모리 PermSpace를 늘리려면 "-XX:MaxPermSize=256M" 레지스트리 키를 추가합니다.
Windows 2008
- 다음으로 이동:
시작 > 실행 > 재편집
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun2.0\VXMLServer\
Parameters\Java\Options
- 가상 메모리 PermSpace를 늘리려면 "-XX:MaxPermSize=256M" 레지스트리 키를 추가합니다.
자세한 내용은 Cisco Unified Customer Voice Portal Software Security Advisory의 여러 취약성을 참조하십시오.
개발자 서비스에 문의
Cisco Technical Assistance Center에는 관련 애플리케이션 흐름을 분석할 수 있는 리소스가 제한되어 있으므로 이러한 수정 사항 외에도 VXML 애플리케이션 디버그를 VXML 애플리케이션 개발자가 처리해야 합니다.이 문서의 절차를 따랐고 과도한 메모리 사용량의 원인을 찾을 수 없는 경우 개발자 서비스에 문의하여 응용 프로그램을 검토하십시오.
자주 묻는 질문
VXML 애플리케이션 메모리 소비를 모니터링하는 가장 좋은 방법은 무엇입니까?
VisualVM, JProfiler, Yourkit와 같은 몇 가지 툴을 사용할 수 있습니다.VXML 애플리케이션을 평가하는 모든 프로파일러는 데이터 구조가 누적되고 메모리를 해제하지 않는 세부 정보를 제공하며, 이로 인해 결국 OutOfMemory 상태가 됩니다.
(CVP)/VXML 서버에서 가비지 수집이 얼마나 자주 시작됩니까?
가비지 수집이 실행되는 시간은 시스템 로드에 따라 달라집니다.일반적으로 대용량 시스템이나 메모리가 적은 시스템은 가비지 수집을 자주 발생하지만, 적은 양의 메모리를 가진 시스템은 가비지 수집을 자주 발생한다는 규칙이 있습니다.
가비지 수집은 애플리케이션에서 재활용할 메모리를 어떻게 결정합니까?
이 값은 JVM(Java Virtual Machine)에 의해 평가됩니다. 객체에 대한 모든 참조가 삭제되면 모든 객체가 가비지 수집 대상이 됩니다.