Handler dispatch failed: java.lang.OutOfMemoryError: Java heap space
๐ธ ์ํฉ ๐ธ
Spring Boot ์์ CSV ํ์ผ์ ๋ค์ด๋ฐ์ ์ฝ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
๋ก์ปฌ์์๋ ์ ๋์๊ฐ๋๋ฐ, aws ec2 ์์๋ heap memory ์ค๋ฅ๊ฐ ๋ฌ๋ค.
๐งถ ์๋ ๐งถ
- ์ฒ์์๋ CSV ํ์ผ์ ๋ค์ด๋ฐ์ ๋ ์๊ธด ์ค๋ฅ์ธ ์ค ์์๋ค. ๊ทธ๋์ heap memory ํฌ๊ธฐ๋ฅผ 2GB๋ก ๋๋ ค์ฃผ๋ ์ค์ ํ์ผ์ ์ถ๊ฐํด์ ๋ฐฐํฌํด์ฃผ์๋๋ฐ ์ ๋์ง ์์๋ค. t2.micro ๋ฅผ ์ฌ์ฉํ๊ณ ์์๋๋ฐ 1GB ๊ฐ ์ต๋ ํ๋์ด๊ธฐ ๋๋ฌธ์ ๋๋ฆฌ์ง ๋ชปํ๋ค๋ ๊ธ๋ ๋ณด์๋ค.
# .ebextensions ํ์ผ์ jvm.config
option_settings:
aws:elasticbeanstalk:application:environment:
JAVA_OPTS: "-Xmx2048m"
๐ ํด๊ฒฐ ๐
- ๋ฌธ๋, ์ด ์๋ฌ๊ฐ CSV ํ์ผ์ ๋ค์ด๋ฐ์ ๋ ์๊ธฐ๋ ์ค๋ฅ์ธ์ง, CSV ํ์ผ์ ์ฝ์ผ๋ฉด์ ๋ฐ์ํ๋ ์ค๋ฅ์ธ์ง ์๋ฌธ์ด ๋ค์๋ค.
- ์๋ ํ ๋ฒ์ CSV ํ์ผ์ ์ฝ์ด๋ค์ด๋ ์ฝ๋๋ฅผ ์ฌ์ฉํ์๋๋ฐ ( List<String[]> records = csvReader.readAll() )
- ํ ์ค์ฉ ์ฝ์ด๋ค์ด๋ ์ฝ๋๋ก ๋ณ๊ฒฝํ๋ค.
String[] record;
while ((record = csvReader.readNext()) != null) {
...
}
