๐ก java.lang.OutOfMemoryError: Java heap space ํด๊ฒฐ ๋ฐฉ๋ฒ(Eclipse, IntelliJ)
๐จ Error :
ํ์ฌ์์ OJT ๊ธฐ๊ฐ์ ์ฃผ์ด์ง ๊ณผ์ ๋ฅผ ์ํํ๋ ์ค ๋ง๋ ์๋ฌ์ด๋ค. ํ ์คํธ ์ฝ๋๋ฅผ ํตํด ์ธ๋ถ ํ์ผ์ ์ฝ๋ ์์ ์์ ๊ณ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
๐ค ์์ธ :
์๋ฐ ํ ๊ณต๊ฐ์ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ ๊ฒฝ์ฐ์ ๋ฐ์ํ๋ค๊ณ ํ๋ค. ํ์ฌ ํ ํฌ๊ธฐ(์ง์ ํน์ ๊ธฐ๋ณธ)๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋์ํค๋ ๋ฐ์ ์ถฉ๋ถํ์ง ์๊ฑฐ๋, ์๋ช ์ฃผ๊ธฐ๊ฐ ๊ธด ์ ํ๋ฆฌ์ผ์ด์ ์ด finalize๋ฅผ ๊ณผ๋ํ๊ฒ ์ฌ์ฉํ ๋ ๋ฐ์ํ๋ ์๋ฌ์ด๋ค.
๐ ํด๊ฒฐ :
JVM ์ต์ ์์ ํ ์ต์ ์ ํตํด jvm์ ์ต์ ํ์ฌ์ด์ฆ์ ์ต๋ ํ์ฌ์ด์ฆ๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
์ฌ์ฉ ๋ฉ๋ชจ๋ฆฌ ํ์ธํ๋ ๋ฐฉ๋ฒ
Eclipse์ ๊ฒฝ์ฐ
- Preferences > General์์ Show heap status๋ฅผ ์ฒดํฌํ์ฌ ์ฌ์ฉ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ค๋ฅธ์ชฝ ํ๋จ์์ ํ์ธ ๊ฐ๋ฅํ๋ค.
IntelliJ์ ๊ฒฝ์ฐ
- ์ฌํํธ๋ฅผ ๋ ๋ฒ ๋๋ฅด๊ณ show Memory Indicator๋ฅผ ์ ๋ ฅํ์ฌ ON์ผ๋ก ๋ฐ๊พธ๋ฉด ๋๋ค. eclipse์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ์ฉ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ค๋ฅธ์ชฝ ํ๋จ์์ ํ์ธ ๊ฐ๋ฅํ๋ค.
๋ฉ๋ชจ๋ฆฌ ๋๋ฆฌ๊ธฐ
Eclipse์ ๊ฒฝ์ฐ
- eclipserk ์ ์ฅ๋ ํด๋์ ๋ค์ด๊ฐ eclipse.ini ํ์ผ์ ๋ค์ด๊ฐ๋ฉด Xms์ Xmx๊ฐ ๋์ค๋๋ฐ ์ด ๊ฐ์ ์์ ํ๋ฉด ๋๋ค. Xms๋ ํ ์์ญ์ ์์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ด๊ณ , Xmx๋ ํ ์์ญ์ ์ต๋ ํฌ๊ธฐ๋ฅผ ๋ํ๋ธ๋ค.
IntelliJ์ ๊ฒฝ์ฐ
- Help > Edit Custom Vm Options... ์ ๋ค์ด๊ฐ eclipse์ ๊ฒฝ์ฐ์ ๋๊ฐ์ด Xms์ Xmx์ ๊ฐ์ ์์ ํด ์ฃผ๋ฉด ๋๋ค.
๐ค ์๋ฌธ์ :
Xms์ Xmx์ ๊ฐ์ด ์ด๋ ์ ๋๊น์ง ์ฌ๋ ค๋ ๋๋์ง, ์ ์ ๊ฐ์ด ์ผ๋ง์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ๋ค. ํ์คํ ๊ฑด ํ์ฌ ๋ด๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ ์ด๋ง์ด๋งํ๊ฒ ํฐ ํ์ผ์ด๋ผ ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ ค๋ ๋ด ๋งฅ๋ถ ์์ด๋ก๋ ๋ฌด๋ฆฌ์ผ ๋ฏ์ถ์ด ์ฌ๊ธฐ๊น์ง๋ง ์์๋ณด๊ณ ํ์ผ ํฌ๊ธฐ๋ฅผ ์ค์ฌ ํ ์คํธ๋ง ํต๊ณผํ๋ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ๋ค.
์ฐธ๊ณ
https://velog.io/@jsj3282/Heap-Memory-Leak-OutOfMemoryError
https://shanepark.tistory.com/403