반응형

리눅스 서버 환경에서 강제로 OutOfMemory를 발생시키는 테스트를 진행하게 되어서 정리 및 도움이 될까하여 포스팅합니다. 

 

package memup;

import java.util.ArrayList;
import java.util.List;

public class sender {

	public static void main(String[] args) {
		
		 List<byte[]> list = new ArrayList<>(); // 큰 배열 선언
	       
	        while (true) {
	        	try {
		            byte[] tes = new byte[1048576]; //1MB 를 위에서 선언한 배열에 무한 add
		            list.add(tes);
	        	}catch(Exception e){
	        		e.printStackTrace();
	        	}

	}

	}
}

 

아래는 리눅스환경에서 실행할 때 Java 옵션입니다. 

 

 -Xms6g -Xmx16g -Xss1024k -XX:+UseParallelGC -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m -XX:-UseAdaptiveSizePolicy -XX:+DisableExplicitGC -XX:ParallelGCThreads=4 -verbose:gc
반응형

+ Recent posts