컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - Java virtual machine 메모리 설정 정보

Java virtual machine 메모리 설정 정보

요즘 디자인을 하다가 작은 문제가 생겼다. Dblp XML 파일 (파일의 최신 버전이 MB 임) 을 구문 분석할 때 항상 오류를 보고합니다.

Java lang OutOfMemoryError: Java 힙 공간

마지막으로 데이터를 검사하여 JVM 힙 메모리 부족으로 인한 것임을 알 수 있습니다. JVM 은 일반적으로 시작 시 JVM 힙 값을 설정합니다.

초기 공간 (Xms) 은 물리적 메모리/최대 공간 (Xmx) 으로 JVM 의 물리적 메모리를 초과할 수 없습니다. % 시간이 GC 에 걸리고 사용 가능한 힙 크기가% 미만이면 이 예외 메시지가 발생합니다. 이 문제는 JVM 힙 크기를 수정하여 해결할 수 있습니다.

예를 들면

축소하거나 열려면 (여기) 를 클릭합니다.

자바 xms mxmx mclass name

JVM 초기화 힙 메모리는 m 이상으로 설정되고 최대 사용 가능한 힙 메모리는 m 입니다.

() 명령줄에 설정된 방법은 위에서 설명한 바와 같습니다.

() Eclipse 에서 설정할 수 있습니다.

Eclipse 실행 > 구성 실행 > 의 매개 변수 아래 vmArguments 의 설정.

Xms M Xmx M

또한 Java X 를 사용하여 추가 JVM 매개 변수를 볼 수 있습니다.

축소하거나 열려면 (여기) 를 클릭합니다.

D: \ work > 자바 x

X 혼합 모드 실행 (기본값)

해석 모드 실행만

Xbootclasspath:& lt;; 디렉토리 및 zip/jar 파일; & gt

부트 클래스 및 리소스에 대한 검색 경로 설정

Xbootclasspath/a: < 디렉토리 및 zip/jar 파일; & gt

부트 클래스 경로의 끝에 추가

Xbootclasspath/p: < 디렉토리 및 zip/jar 파일; & gt

부트 클래스 경로 앞에 접두사를 추가합니다

Xnoclassgc 는 클래스 가비지 수집을 비활성화합니다

Xincgc 는 증분 가비지 수집을 활성화합니다

Xloggc:& lt;; 파일> 는 타임 스탬프가 있는 파일에 GC 상태를 기록합니다

Xbatch 는 배경 채우기를 비활성화합니다

Xms & ltsize & gt 초기 Java 힙 크기를 설정합니다

Xmx & ltsize & gt 최대 Java 힙 크기를 설정합니다

Xss & ltsize & gt Java 스레드 스택 크기 설정

Xprof 출력 CPU 분석 데이터

Xfuture 는 미래의 위약을 예측하는 가장 엄격한 검사를 가능하게 한다.

Xrs 는 OS 신호에 대한 Java/VM 사용을 줄입니다 (문서 참조)

Xcheck:jni 는 JNI 함수에 대해 추가 검사를 수행합니다

Xshare:off 공유 클래스 데이터 사용을 시도하지 마십시오

Xshare: 가능한 경우 공유 클래스 데이터 자동 사용 (기본값)

Xshare:on 에는 공유 클래스 데이터가 필요합니다. 그렇지 않으면 실패합니다

X 옵션은 비표준 옵션이며 사전 통보 없이 변경될 수 있습니다

Java lang Runtime 의 몇 가지 방법을 통해 JVM 의 메모리 사용량을 확인할 수 있습니다.

축소하거나 열려면 (여기) 를 클릭합니다.

시스템 출력 println (총 메모리:+runtimegetruntime () totalmemory ()/(*+MB)

시스템 출력 println (사용 가능한 메모리:+runtimegetruntime () freememory ()/(*)+MB)

시스템 출력 println (최대 메모리:+runtimegetruntime () maxmemory ()/(*)+MB)

MaxMemory () 메서드는 Java virtual machine (프로세스) 이 운영 체제에서 얻을 수 있는 최대 메모리 (바이트) 를 반환합니다.

TotalMemory () 메서드는 Java virtual machine 이 현재 운영 체제에서 파낸 메모리 크기, 즉 당시 Java virtual machine 이 사용하는 모든 메모리를 반환합니다.

FreeMemory 는 현재 JVM 에서 사용되지 않는 메모리입니다.

Jvm 매개 변수 설명 포함 (시작)

서버: 여러 CPU 에서 좋은 성능을 얻으려면 첫 번째 매개 변수로 사용해야 합니다.

기본적으로 Xms Java 힙의 초기 크기는/

Xmx Java 힙의 최대값은 물리적 메모리의 절반으로 설정하는 것이 좋으며 물리적 메모리를 초과할 수 없습니다.

XX:PermSize: 메모리 영구 저장소의 초기 크기를 설정합니다. 기본값은 m 입니다 (visualvm exe 로 확인).

XX:MaxPermSize: 메모리 영구 저장소의 최대 크기를 설정합니다. 기본값은 m 입니다 (visualvm exe 로 확인).

XX:SurvivorRatio=? 생존자 풀의 기본 크기는 가비지 수집이 병목 현상이 될 경우 생성 풀 설정을 사용자 정의할 수 있다는 것입니다.

XX:NewSize: 새로 생성된 풀의 초기 크기 기본값은 m 입니다.

XX:MaxNewSize: 새로 생성된 풀의 최대 크기 기본값은 m 입니다.

JVM 의 힙 크기가 GB 보다 큰 경우 xx: newsize = mxx: maxnewsize = mxx: survivorratio = 값을 사용하거나 총 힙 크기의% ~% 를 새로 생성된 풀에 할당하여 새 오브젝트 영역을 조정해야 합니다

+XX:AggressiveHeap 는 Xms 의 의미를 잃게 합니다. 이 매개 변수를 사용하면 JVM 이 Xmx 매개 변수를 무시하고 G 물리적 메모리를 미친 듯이 먹은 다음 G 교환을 할 수 있습니다.

각 스레드의 Xss 스택 크기 Xss 를 사용하면 JBoss 가 스레드를 추가할 때마다 M 메모리를 즉시 사용할 수 있습니다. 최적 값은 K 이고 기본값은 K 인 것 같습니다.

Verbose:gc 실제 가비지 수집 정보

Xloggc:gc log 불필요한 정보 수집 로그 파일을 지정합니다.

Xmn 젊은 세대의 힙 크기는 일반적으로 Xmx 의 3 분의 1 로 설정됩니다.

XX:+UseParNewGC 는 minor 수집 시간을 단축합니다.

XX:+UseConcMarkSweepGC 는 전문적인 수집 시간을 단축합니다. 이 옵션은 힙 크기가 크고 major 의 수집 시간이 긴 경우에 더 적합합니다.

XX:userParNewGC 는 여러 CPU 의 병렬 컬렉션을 설정하는 데 사용할 수 있습니다.

Xx: 병렬 처리 기능을 사용하여 병렬 처리 수를 늘릴 수 있습니다. 멀티 CPU.

Lishi Xinzhi/article/program/Java/hx/201311/26/

上篇: 유치원 어린이를 위한 레고 수업의 주요 특징 下篇: 런던 올림픽 몇 년
관련 내용