...
인텔리제이 메모리 사이즈 변경하기
자바 프로그램 성능 테스트를 할때나 아니면 스펙을 올리고 싶을때 가끔 힙 메모리를 변경해야 할 경우가 생긴다.
인텔리제이에서는 정말 간단하게 메모리 설정을 할 수 있으며, 이외에도 JVM 옵션들을 한꺼번에 처리해주는 기능을 제공한다.
인텔리제이 전역 메모리 설정
1. Help > Change Memory Settings 메뉴 클릭
2. Maximum Heap Size의 사이즈 값을 변경
- 이때 반드시 Save and Restart를 해주어야 변경 사항이 적용이 된다.
3. 인텔리제이 하단 표시줄을 우클릭 하여 Memory Indecator 체크한다.
4. 그러면 하단 표시줄 맨 우측에 사용 메모리양이 표시된다.
프로젝트 개별 메모리 설정
만일 인텔리제이 전역 메모리가 아닌 프로젝트마다 힙 메모리를 다르게 설정하고 싶다면, 다음과 같이 설정해주면 된다.
1. Run/Debug Configurations 선택
2. 어플리케이션을 선택하고 Modify options를 클릭
3. Add VM options 메뉴를 활성화
4. 프로젝트에 적용할 힙 메모리 사이즈 설정
- 확인을 누르고 프로젝트를 run하면 설정된 힙 메모리로 자바 프로그램을 실행하게 된다.
터미널을 이용한 메모리 설정
만약 인텔리제이 IDE 설정이 복잡하면 터미널 커맨드로 옵션을 지정하여 컴파일된 바이트 파일을 실행해도 된다.
> java -classpath 클래스_파일이_들어있는_절대경로 -Xms200m -Xmx200m Main
인텔리제이 JVM 옵션 편집
힙 메모리 뿐만 아니라 인텔리제이 자바 프로젝트에 적용할 전반적인 JVM 옵션들을 관리하고 추가하기 위해서는 idea64.exe.vmoptions 파일을 설정해주면 된다.
idea64.exe.vmoptions 파일은 인텔리제이 설치 폴더의 bin 폴더 안에 위치해 있으며, 인텔리제이에서는 다음 메뉴를 누르면 자동으로 열어준다.
-Xms2g # 초기 Heap 사이즈
-Xmx2g # 최대 Heap 사이즈
-XX:ReservedCodeCacheSize=256m # 코드 캐쉬 사이즈 Heap 메모리 사이즈와 공유하지 않는다.
-XX:+UseG1GC # G1GC 가비지 컬랙션을 사용한다.
-XX:MetaspaceSize=768m # Java8 이상의 Permanent 영역 사이즈
-XX:MaxMetaspaceSize=768m # Java8 이상의 최대 Permanent 영역 사이즈
-XX:+UseCompressedOops # 64비트 JVM에서 압축 참조를 사용 가능
-XX:MaxGCPauseMillis=200 # GC로 인한 최대 중단시간을 명시
-XX:ParallelGCThreads=4 # 다중 GC를 위해 사용되어질 GC 스레드의 수
-XX:ConcGCThreads=1 # 동시적 CMS 단계가 동작할때에 사용할 쓰레드 개수를 정의
-XX:+HeapDumpOnOutOfMemoryError # OutOfMemoryError 발생 시 자동으로 heap dump를 생성
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log # 에러파일 생성 위치
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof # HeapDump 파일 생성 위치
-ea # assertions을 사용한다.
-server # 자바 HotSpot Server VM
-Dsun.io.useCanonCaches=false # Java의 정규화 캐시 사용여부
-Djava.net.preferIPv4Stack=true # IP4를 사용여부
-Dfile.encoding=UTF-8 # Java 소스파일 인코딩
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.