응용 프로그램 메모리 누수 문제 해결
1. 기사의 출처;
일상 운영 및 유지 보수 과정에서, 당신은 문제 해결을 위해 노력하고 문서를 준비 사용할 수 급증 움 리드 서비스로 인한 높은 서버 리소스, CPU 나 메모리 문제 (대부분의 프로그램은 자바 응용 프로그램이다), 발생합니다 문제의 위치를 신속하게 방법을 참조하고,
2. 기본 지식베이스;
(1)의 일반적인 구성 파라미터 .jvm :
힙 매개 변수
매개 변수 |
기술 |
-Xms | JVM 시작을 설정 힙 메모리의 초기 크기 |
-Xmx | 최대 힙 메모리를 설정 |
-Xmn | 젊은 세대로 설정 공간, 기성 세대에 대한 공간의 나머지 |
-XX : PermGen | 영구 세대 메모리의 초기 크기를 (JDK1.8을 영구적으로 폐기물 발생을 시작) 설정 |
-XX : MaxPermGen | 최대 영구 세대를 설정 |
-XX : SurvivorRatio | 에덴 공간 비율 세트 영역과 서바이버 영역 : 에덴 / S0 = 에덴 / S1 기본 8 |
-XX : NewRatio | 이전 세대와 크기의 젊은 세대 비율을 설정, 기본값은 2입니다 |
복구 매개 변수
-XX : + UseSerialGC |
시리얼, 영 (이하 면적) 및 이전 (종신)이다 직렬 재활용 복사 알고리즘을 사용하여, 로직은 문맥 전환의 오버 헤드없이 간단하고 효율적인 |
-XX : + UseParallelGC | 병렬 복구에 병렬 소기 수집 알고리즘을 사용하여 병렬 젊은 (어린 영역), 다중 스레드를 생성 할 수 있습니다. -XX 작성자 : 기본 CPU 코어 수만큼 스레드의 수를 가지고 ParallelGCThreads = N 매개 변수를 지정, 올드은 (종신) : 단일 스레드 |
상기 표에 도시 된 바와 같이, 현재는 직렬, 병렬 및 동시 삼가지 존재 , 애플리케이션 대용량 메모리 직렬 낮은 성능 메인 병렬의 사용과 동시에 두 종류. 병렬 및 UseParallelGC 및 UseConcMarkSweepGC로 지정된 동시 GC 정책 구현 전략을 구성하는 데 사용되는 구성 매개 변수의 몇 가지 세부 사항이 있습니다. 예를 들면 : XX : ParallelGCThreads, XX : 같은 CMSInitiatingOccupancyFraction. 일반적 : 영 대상 영역만을 선택적 병렬 (시간 소모) 오래 동시 선택 영역 (소비 CPU)을 회수.