이 기사는 JVM 매개 변수 튜닝을 수정하기위한 Eclipse 메소드 (2 유형)를 소개하고 다음과 같이 공유합니다.
일반적으로 Eclipse의 관련 설정을 설정하지 않으면 항상 시작이 느리고 사용하는 것이 좋습니다. 실제로 Eclipse의 관련 매개 변수를 구성하는 한 크게 향상됩니다.
두 가지 방법이 있습니다.
1. Eclipse 구성 파일 Eclipse.ini 및 Change -XMX를 엽니 다 (값은 JVM이 사용할 수있는 최대 메모리를 나타냅니다).
2. Java 프로그램을 실행할 때 run-> run configuration-> arguments를 선택하고 -xms100m -xmx800m을 입력하십시오 (-xms는 JVM이 시작될 때 할당 된 메모리 크기를 나타내고 -xmx는 할당 할 수있는 최대 메모리의 양을 나타냅니다).
오늘, 이클립스의 그림으로 문서를 테스트 할 때 다음과 같은 오류 가보고되었습니다.
java.lang.outofMemoryError : Java 힙 공간
위의 예외 정보에서 JVM이 요구하는 메모리가 가상 머신에 할당 한 최대 메모리를 초과했음을 알 수 있습니다. 따라서 문제는 일식에서 JVM의 최대 메모리를 설정하는 방법으로 바뀝니다.
1. Eclipse.ini 파일을 수정하십시오 (이 메소드는 작동하지 않음).
Eclipse 디렉토리에서 eclipse.ini 파일을 찾아 다음 내용을 수정하십시오.
-xms40m-xmx512m
이를 수정 한 후 일식을 다시 시작한 후 전혀 작동하지 않는 것으로 나타났습니다. 나중에 일부 정보를 확인한 후 여기에있는 최소 및 최대 메모리는 JVM에서 사용하는 것이 밝혀졌습니다. 이 메모리 값에는 Eclipse 자체가 사용하는 메모리가 포함됩니다.
2. 메모리를 사용하려면 JDK를 수정하십시오 (이 방법은 가능합니다)
eclispe에 window-> preferences-> java-> 설치된 JRE를 찾은 다음 오른쪽의 편집 버튼을 클릭하고 편집 인터페이스의 "기본 VM 인수"옵션에서 다음 값을 입력하십시오.
-xms64m -xmx128m
3. 실행 구성 수정 (이 방법은 가능합니다)
코드를 마우스 오른쪽 버튼으로 클릭하고 순서대로 "as" -> "실행 실행"을 클릭하고 인수 매개 변수에서 "vm arguments"의 다음 값을 작성하십시오.
-xms64m -xmx128m
힙 메모리는 주로 다음 JVM 매개 변수를 통해 설정됩니다.
| -xmx512m | 일반적으로 물리적 메모리의 1/4로 설정된 최대 총 힙 메모리 |
| -xms512m | 초기 총 힙 메모리는 일반적으로 최대 힙 메모리만큼 크기가 크므로 현재 힙 사용에 따라 힙 크기를 조정할 필요가 없습니다. |
| -xmn192m | 힙 기억력이있는 젊은이, Sun은 공식적으로 전체 힙의 3/8을 권장합니다. |
| 힙 메모리의 구성 | 총 힙 메모리 = 힙 메모리가있는 젊음 + 힙 메모리가있는 오래된 + 힙 메모리가 지속됩니다. |
| 기억 더미가있는 젊음 | 객체가 만들어 졌을 때 여기에 놓여있었습니다 |
| 기억 더미가 더 오래되었습니다 | 물체는 실제로 재활용되기 전에 여기에 배치됩니다. |
| 힙 메모리와 지속적입니다 | 클래스 파일, 메타 데이터 등이 여기에 배치됩니다 |
| -xx : permsize = 128m | 영구 벨트 힙의 초기 크기 |
| -xx : maxpermsize = 128m | 영구 밴드 힙의 최대 크기 인 기본 이클립스는 256m입니다. JDK를 컴파일하려면 클래스가 너무 많아서이를 매우 크게 설정해야합니다. |
4. 현재 JVM 메모리 코드를 쿼리하십시오
다음은 현재 JVM 메모리 크기를 쿼리하는 코드입니다. 위의 설정 후에 JVM 메모리가 변경 될지 테스트 할 수 있습니다. JVM 메모리의 구성 항목을 늘리면 Eclipse를 다시 시작할 필요가 없습니다. 특정 코드는 다음과 같습니다.
공개 클래스 테스트 메모리 { / ** * @param args * / public static void main (String [] args) {시스템. out .println ( "메모리 정보 :" + tomemoryInfo ()); } / ** * 현재 jvm * * @return * / public static string tomemoryInfo () {runtime currruntime = runtime.getRuntime (); int nfreememory = (int) (curruntime.freememory () / 1024 / 1024); int ntotalmemory = (int) (curruntime.totalmemory () / 1024 / 1024); nfreememory + "m/" + ntotalmemory + "m (free/total)"을 반환하고; }}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.