• [Step02]. Java.lang.OutOfMemoryError?

    2024. 2. 1.

    by. V_Jun

    ๐Ÿ™‹‍โ™‚๏ธ Java.lang.OutOfMemoryError๋Š” ๋ฌด์—‡์ผ๊นŒ?

    Java ๊ฐ€์ƒ ๋จธ์‹  (JVM)์—์„œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ์ƒํ™ฉ์—์„œ ๋ฐœ์ƒ

     

    ๋Œ€ํ‘œ์ ์ธ ์‚ฌ๋ก€

     

    Heap ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ

    • Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ฃผ๋กœ Heap ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ์ฒด๋ฅผ ํ• ๋‹นํ•˜๊ณ  ์‚ฌ์šฉ, ์ด๋•Œ Heap ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ์‹œ ๋ฐœ์ƒ

     

    ๋„ˆ๋ฌด ๋งŽ์€ ๊ฐ์ฒด ์ƒ์„ฑ

    • ๋ถˆํ•„์š”ํ•œ ๊ฐ์ฒด์˜ ๋Œ€๋Ÿ‰ ์ƒ์„ฑ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œ๋ฅผ ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๋ฐœ์ƒ 

     

    1. OutOfMemoryError์˜ ์ข…๋ฅ˜

    java.lang.OutOfMemoryError: Java heap space 
    java.lang.OutOfMemoryError: GC overhead limit exceeded
    java.lang.OutOfMemoryError: PermGen space
    java.lang.OutOfMemoryError: Metaspace
    java.lang.OutOfMemoryError: Direct buffer memory

     

    2. ๋ฐฐํฌ์ค‘์ธ ์„œ๋น„์Šค์— ํ•ด๋‹น ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด?

    ๋ฐฐํฌ์ค‘์ธ ์„œ๋น„์Šค์— ์ ‘์† ํ•  ์ˆ˜ ์—†๋Š” ํฌ๋ฆฌํ‹ฐ์ปฌํ•œ ์ด์Šˆ ๋ฐœ์ƒ

     

    3. ํ•ด๋‹น ๋ฌธ์ œ ๋ฐœ์ƒ ๊ฒฝํ—˜

    ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ธฐ๋Šฅ ์‚ฌ์šฉ ์‹œ, ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ด ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ 

    ์ž๋ฐ” Heap ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ๊ฐ’ ํŠœ๋‹ ๋ฏธ์„ค์ •์œผ๋กœ ์ธํ•ด ํ•ด๋‹น ์ด์Šˆ ๋ฐœ์ƒ

     

    4. ํ•ด๊ฒฐํ•œ ๋ฐฉ๋ฒ•

    ์„ค์น˜ ํ™˜๊ฒฝ : Window Server2019 - Apache Tomcat10

    ๊ฐ™์€ ์„œ๋น„์Šค ๋ฐฐํฌ ํ™˜๊ฒฝ์˜ ๊ฒฝ์šฐ, ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์‰ฝ๊ฒŒ Java Heap ์‚ฌ์ด์ฆˆ ํŠœ๋‹์„ ์ง„ํ–‰ ๊ฐ€๋Šฅ

    (์„œ๋น„์Šค๋กœ ๋“ฑ๋ก๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)

     

    Initial memory pool : ์ดˆ๊ธฐ  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ๊ณต๊ฐ„

    Maximum memory pool : ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ๊ณต๊ฐ„

     

     

    Tomcat ํด๋” - Bin ํด๋” ์ด๋™

     

    ์ฒดํฌ ํฌ์ธํŠธ ์„ค์ • - ์ ์šฉ - ์ €์žฅ

     

     

    ๋Œ“๊ธ€