반응형
리눅스 서버 환경에서 강제로 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
반응형
'JAVA' 카테고리의 다른 글
[JAVA] OS 환경변수 값 얻어오는 방법 (System.getenv()) (0) | 2022.11.24 |
---|---|
[JAVA] java.lang.NoClassDefFoundError 해결 (0) | 2022.04.28 |
[JAVA] 경로에 폴더가 없으면 자동생성 (0) | 2021.11.14 |