À̹ø ȸ¿¡¼´Â Java¿¡¼ÀÇ heap ¸Þ¸ð¸® ¸Þ´ÏÁö¸ÕÆ®ÀÇ »ó¼¼¸¦ ¼³¸íÇÕ´Ï´Ù. JVMÀÇ heap ¸Þ¸ð¸® Áß¿¡¼ »õ·Î¿î °´Ã¼¿Í ³°Àº °´Ã¼°¡ ¾î¶»°Ô ¹èÄ¡µÇ´ÂÁö¸¦ ÀÌÇØÇÔÀ¸·Î½á heap ¸Þ¸ð¸®°¡ À¯È¿ÇÏ°Ô ÀÌ¿ëµÇ°í ÀÖ´ÂÁö ¾Æ´ÑÁö¸¦ ÆÇ´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç, JVM°¡ Ãâ·ÂÇÏ´Â °¡º£Áö ÄÝ·º¼ÇÀÇ ·Î±×¸¦ ÇØ¼®ÇÏ°í ¿É¼ÇÀÇ ÁöÁ¤¿¡ ÀÇÇØ¼ heap ¸Þ¸ð¸®ÀÇ Å©±â¸¦ ÀûÀýÈ÷ Æ©´×ÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇÕ´Ï´Ù.
 |
Java heap ¸Þ¸ð¸®ÀÇ ±¸Á¶ |
¡¡Java¿¡¼ÀÇ °¡º£Áö ÄÝ·º¼ÇÀÇ ¸ÞÄ«´ÏÁòÀ» ÀÌÇØÇÏ·Á¸é ¿ì¼± heap ¸Þ¸ð¸®ÀÇ ±¸Á¶¸¦ ¾Ë¾Æ µÑ Çʿ䰡 ÀÖ½À´Ï´Ù.
 |
| ±×¸² 1 JVM heap ¸Þ¸ð¸®ÀÇ ±¸Á¶ |
¡¡±×¸² 1Àº JVM¿¡¼ÀÇ heap ¸Þ¸ð¸®ÀÇ ±¸Á¶¸¦ ³ªÅ¸³½ °ÍÀÔ´Ï´Ù. ÀÌ ±×¸²°ú °°ÀÌ heap ¸Þ¸ð¸® ¾È¿¡´Â »õ·Î¿î °´Ã¼¸¦ °Ý³³ÇÏ´Â ¡¸NEW¡¹¿µ¿ª°ú ³°Àº °´Ã¼¸¦ °Ý³³ÇÏ´Â ¡¸OLD¡¹¿µ¿ªÀÌ Á¸ÀçÇÕ´Ï´Ù. »ý°Ü³ªÀÚ¸¶ÀÚ Çʿ䰡 ¾ø¾îÁö´Â ¼ö¸íÀÌ ÂªÀº °´Ã¼´Â NEW ¿µ¿ª¿¡¼ ±× ÀÏ»ýÀ» º¸³»¸ç Àå½Ã°£ Á¸ÀçÇÏ´Â °´Ã¼´Â OLD ¿µ¿ª¿¡ ¸Ó¹°°Ô µË´Ï´Ù. ¶Ç,±×¸²1¿¡´Â º¸ÀÌÁö ¾ÊÁö¸¸ heap ¸Þ¸ð¸®¿¡´Â JVMÀ¸·Î ·ÎµåµÈ Ŭ·¡½º¸¦ ³õ¾ÆµÎ´Â Àå¼Ò·Î¼ ÀÌ¿ëµÇ´Â ¡¸Permanent¡¹¿µ¿ªµµ Á¸ÀçÇÕ´Ï´Ù.
¡¡JVM¿¡¼´Â ¡¸Scavenge GC¡¹¿Í¡¸Full GC¡¹¶ó´Â 2 Á¾·ùÀÇ °¡º£Áö ÄÝ·º¼ÇÀÌ ½ÇÇàµË´Ï´Ù. Scavenge GC´Â NEW ¿µ¿ª¸¸À» ´ë»óÀ¸·Î Çϴ ªÀº ½Ã°£¿¡ Á¾·áµÇ´Â °¡º£Áö ÄÝ·º¼ÇÀ̸ç, ÀÚÁÖ ½Ç½ÃµË´Ï´Ù. ÇÑÆí, Full GC´Â NEW¿Í OLD ¾çÂÊ ¸ðµÎÀÇ ¿µ¿ªÀ» ´ë»óÀ¸·Î ÇÑ ´ë±Ô¸ðÀÎ °¡º£Áö ÄÝ·º¼ÇÀÌ¸ç ºñ±³Àû ³·Àº ºóµµ·Î ½Ç½ÃµË´Ï´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯¿¡¼ heap ¸Þ¸ð¸® Àüü°¡ °´Ã¼ÀÇ ¼¼´ëº°·Î ºÐÇҵǾî ÀÖ½À´Ï´Ù.
¡¡JVMÀÇ µðÆúÆ® ¼³Á¤¿¡¼´Â NEW ¿µ¿ªÀÇ °¡µ¿½ÃÀÇ Å©±â°¡ 2 MB, ÃÖ´ë Å©±â°¡ 16 MB·Î ¼ÂÆÃµÇ¾î ÀÖ½À´Ï´Ù. ¶Ç, OLD ¿µ¿ªÀÇ °¡µ¿½ÃÀÇ Å©±â´Â 4 MB, ÃÖ´ë Å©±â´Â 48 MBÀÔ´Ï´Ù. ÀÌ·¯ÇÑ Å©±â´Â ¾Æ·¡ÀÇ JVM ¿É¼ÇÀ» ÀÌ¿ëÇÔÀ¸·Î½á º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù.
| ¿É¼Ç¸í |
³»¿ë |
| -Xms |
heap ¸Þ¸ð¸® Àüü °¡µ¿½ÃÀÇ Å©±â |
| -Xmx |
heap ¸Þ¸ð¸® ÀüüÀÇ ÃÖ´ë Å©±â |
| -Xmn |
NEW ¿µ¿ªÀÇ Å©±â |
| -XX:SurvivorRatio=<n> |
Eden ¿µ¿ªÀÇ Å©±â¸¦ From ¶Ç´Â To¿µ¿ªÀÇ Å©±â·Î ³ª´« °ª(From°ú To¿µ¿ªÀº °°Àº Å©±â) |
¡¡¿©±â¼, óÀ½ÀÇ 3 Á¾·ùÀÇ ¿É¼Ç¿¡ ´ëÇØ¼´Â ÁöÁ¤ÇÏ´Â Å©±â¸¦ ¸Þ°¡¹ÙÀÌÆ® ´ÜÀ§·Î ÁöÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¸é ¡¸-Xmn256m¡¹´Â NEW ¿µ¿ª¿¡ 256 MB¸¦ ÇÒ´çÇÏ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¿É¼ÇÀÇ »ç¿ë ¹æ¹ý¿¡ ´ëÇØ¼´Â ´ÙÀ½ ÆäÀÌÁö¿¡¼ ÀÚ¼¼È÷ ¼³¸íÇÕ´Ï´Ù.