SIÇÁ·ÎÁ§Æ® ½Ç¹«°æÇè¹ÙÅÁ Àü¹®ÀÚ¹Ù°³¹ßÀÚ°øµ¿Ã¼    
    WASÀü¹®±â¼ú/½Ã½ºÅÛÀå¾ÖÁø´Ü/¼º´ÉÀÌ·Ð/ÄÁ¼³ÆÃ
¾ÆÀ̵ð: 
ºñ¹Ð¹øÈ£: 
[ȸ¿ø°¡ÀÔ]
¡ß APM
----------------------
- Performance Forum
- Jennifer
  - Consulting Doc.
  - »ç¿ëÈıâ/±â´ÉÃß°¡¿äû
  - Jennifer FAQ
  - Jennifer Q&A
  - Jennifer Download
- CA/Wily
- Mercury Topaz/J2EE Diag.
- Symantec i3
- Borland Optimizeit
- Compuware Vantage
Áú¹®Àº [¹¯°í´äÇϱâ]¶õ¿¡¸¸ ¿Ã·ÁÁÖ¼¼¿ä





ÃÖ±Ù¿¡ Å͵æÇÑ »õ·Î¿î °ÍÀÌ ÀÖ³ª¿ä? ¸Ó¸® ¼Ó¿¡ ³Ö¾î µÎ¸é ±Ý¹æ Àؾî¹ö¸®ÁÒ? ÀÛÀº °ÍÀÌ¶óµµ ±¦ÂúÀ¸´Ï À̰÷¿¡ ¿Ã·Á³õ°í ³²µé°ú °øÀ¯ÇϽÃÁö¿ä.. ¿Ã¸±¸¸ÇÑ ¸Þ´º°¡ ¾ø´Ù±¸¿ä? ¸¸µé¾î µå¸±²²¿ä.


[ÃÖ±Ù ¿Ã¶ó¿Â ±Ûº¸±â] °Ë»ö¾î:
 JavaResource | API Tips | Open Source | APM | ApplicationServer | Unix/DB/JVM/Etc | Q&A/Help
¡ß Java Resources
--------------------
- °øÁö»çÇ×
- ÃÖ±Ù IT ¼Ò½Ä
- ¼¼¹Ì³ª¼Ò½Ä
- À̺¥Æ® & ÇÁ·Î¸ð¼Ç

- Ãßõ¹®¼­(2006)
- Ãßõ¹®¼­(2003-2005)
- Ãßõ¹®¼­(±¸)

- °ü·Ã »çÀÌÆ®

- ¹¯°í´äÇϱâ @
- ¹¯°í´äÇϱâ-BACKUP @
- ±â¼ú Åä·ÐÀå @
- ÀÏ¹Ý Åä·ÐÀå @
- »çȸ Åä·ÐÀå @


- ÇÁ·ÎÁ§Æ®½Ç¹«ÄÁ¼³ÆÃ@

- ±³À°/°­ÀÇ/°­ÁÂ
- ÇÁ·ÎÁ§Æ®/¼Ö·ç¼ÇÁ¦¾È
- ä¿ë°ø°í/°³¹ßÀÚ±¸ÀÎ
- ±¸Á÷¶õ

- Àǰ߳ª´®ÅÍ/Àâ´ã

- ÀÚ¹Ù¼­ºñ½º³ÝÀº...
¡ß Java API Tips
--------------------
- Programming Tips
- JDC Tech Tips

- Servlet/JSP
- J2EE/EJB
- XML/SOAP/UDDI/WSDL
- Jakarta POI
- JDBC
- Mobile Java
- Applet,Swing,SWT
- CORBA
- RMI
- JavaMail
- HTML/HTC/css/js
- Web ÀϹÝ

- ¼­ºí·¿¿£Áø @
(JServ,Tomcat,JRun,..)
¡ß Open Source
----------------------
- Eclipse/Plugin
- Apache Struts
- JDF Framework
  - Download / API

- Open Source Q&A
* ¿ÀǼҽº °Ô½ÃÆÇ
  ½Åû¹Þ¾Æ¿ä.
¡ß APM
----------------------
- Performance Forum
- Jennifer
  - Consulting Doc.
  - »ç¿ëÈıâ/±â´ÉÃß°¡¿äû
  - Jennifer FAQ
  - Jennifer Q&A
  - Jennifer Download
- CA/Wily
- Mercury Topaz/J2EE Diag.
- Symantec i3
- Borland Optimizeit
- Compuware Vantage
¡ßApplicationServer
-------------------- 
- ¾îÇø®ÄÉÀ̼Ǽ­¹ö

- Apache Geronimo
- ATG Dynamo
- BEA WebLogic
- BolandEnterpriseServer
- Evermind Orion Server
- Fujitsu Interstage
- GemStone's GemStone/J
- HP Netaction
- IBM WebSphere
- IONA iPortal
- InfronTech WebTide
- Macromedia JRun
- Marc Fleury's JBoss
- Oracle 9iAS/OAS/OSDK
- Persistence PowerTier
- SilverStream eXtend
- Sun/Netscape iPlanet
- Sybase EAServer
- TmaxSoft JEUS

- ¼­ºí·¿¿£Áø
(JServ,Tomcat,Resin,..)

- eclipse/Plugin
- Other IDE Tools
¡ßUnix/DB/JVM/Etc
--------------
- Unix/Network
- Hacking/Cracking

- DataBase
- JDBC @

- JVM/JDK Issue
- ±âŸ ÀÚ·á½Ç
¡ß Q&A/Help
--------------------
- ¹¯°í´äÇϱâ
- ¹¯°í´äÇϱâ-BACKUP
- Åä·ÐÀå
- ÇÁ·ÎÁ§Æ®½Ç¹«ÄÁ¼³ÆÃ
- Framework Q&A @
- Jennifer Q&A @

- °Ô½ÃÆÇ »ç¿ë¹ý
- ÀÚ¹Ù¼­ºñ½º³ÝÀº... @
Á¦´ÏÆÛ FAQ
  [±Û¸ñ·Ï /½Ã°£¼ø] [´ä±Û¾²±â] [ÇÁ¸°Æ®]   
Á¦¸ñ : Á¦´ÏÆÛ·Î Áö¼ÓÀûÀÎ Èü(heap)¸Þ¸ð¸® ´©¼ö Çö»ó Àâ´Â¹ý
±Û¾´ÀÌ: ÀÌ¿ø¿µ(javaservice) 2005/09/29 17:40:26 Á¶È¸¼ö:16916 ÁÙ¼ö:97

WAS¿¡¼­ Áö¼ÓÀûÀÎ Heap Memory ´©¼öÇö»óÀÌ ÀÖ¾ú³ª¿ä?

 

Á¦´ÏÆÛ 2.5¿¡¼­ óÀ½ ¼±º¸ÀÎ ¡°Áö¼ÓÀûÀÎ Heap Memory Leak¡±À» Àâ¾Æ°¡´Â ÄÝ·º¼Ç ÃßÀû °úÁ¤Àº ´ÙÀ½°ú
°°½À´Ï´Ù.

 

1. [Åë°èºÐ¼®]->[¸Þ¸ð¸®] ¸Þ´º·Î °¡¼Å¼­ Áö³­ ¸çÄ¥µ¿¾ÈÀÇ Heap MemoryÀÇ °æ°ú¸¦ ¸ÕÀú È®ÀÎÇÕ´Ï´Ù.
   ¸¸¾à, ½Ã°£ÀÌ Áö³²¿¡ µû¶ó ¡°ÀÏÀÏÀÚ¹ÙÈü(Heap) ¸Þ¸ð¸® »ç¿ë·®¡±ÀÇ ±×·¡ÇÁ°¡ Áõ°¡Çϰí ÀÖ´ÂÁö
   È®ÀÎÇÏ´Â °ÍÀÌÁö¿ä.

 


2. [Àå¾ÖÁø´Ü]->[¸Þ¸ð¸®-ÄÝ·º¼Ç]¸Þ´º·Î À̵¿ÇÕ´Ï´Ù.

 

À§¿¡¼­ º¸¸é ¾î¶² ÄÝ·º¼Ç(Vector/Hashtable/etc..)°´Ã¼°¡ ¾ó¸¶¸¸Å­ÀÇ element¸¦ °®°í ÀÖ´ÂÁö º¸ÀÔ´Ï´Ù.
º¸´Ù ±¸Ã¼ÀûÀ¸·Î ¾î¶² ¾îÇø®ÄÉÀ̼ǿ¡¼­ À§ Ä÷º¼Ç¿¡ AddÇß´ÂÁö¸¦ º¸·Á¸é, [accept]¹öưÀ» ´­·¯ÁÝ´Ï´Ù.
±×·¯¸é ´ÙÀ½ ±×¸²°ú °°ÀÌ »óŰ¡ waiting¡¦À¸·Î ¹Ù²ò´Ï´Ù.

 


ÀÌÁ¦ ¸¸¾à, ¾î¶² ¾îÇø®ÄÉÀ̼ǿ¡¼­ À§ °´Ã¼¿¡ »õ·Î¿î element¸¦ Ãß°¡ÇÏ·Á°í ½ÃµµÇÒ ¶§, ±× stacktrace¸¦
¶°¼­ ´ã¾Æ ÁÖ°Ô µÇ¹Ç·Î, F5Ű³ª Enter¸¦ ÁÖ±âÀûÀ¸·Î ´­·Á »óŰ¡ ¡°waiting¡¦¡±¿¡¼­ ¡°included¡±·Î ¹Ù²ð
¶§ ±îÁö ±â´Ù¸³´Ï´Ù.

 


À§¿Í °°ÀÌ STACKÀÌ ¡°included¡±»óÅ·ΠµÇ¾úÀ» ¶§, ¸¶¿ì½º¸¦ ±× ÄÝ·º¼Ç(À§¿¡¼± java.util.HashMap)À§·Î
°¡Á®°¡¸é ´ÙÀ½°ú °°ÀÌ ¾î¶² ¾îÇø®ÄÉÀ̼ǿ¡¼­, ¾î¶² °´Ã¼¸¦ À§ ÄÝ·º¼Ç¿¡ Ãß°¡Çß´ÂÁö È®Àε˴ϴÙ.

 


À§¿¡¼­ º¸¸é session.jsp°¡ TomcatÀÇ HTTP Session¿¡µ¥°¡ StandardSessionÀ̶ó´Â °´Ã¼¸¦ ³Ö¾ú°í, ÇöÀç
14,580°³ÀÇ element°¡ ´ã°Ü ÀÖÀ½ÀÌ È®Àε˴ϴÙ.


±×·¯³ª, ´Ü¼øÈ÷ element °³¼ö°¡ ¸¹´Ù°í ÇÏ¿© ¸Þ¸ð¸®¸¦ ¸¹ÀÌ »ç¿ëÇß´Ù°í´Â Àå´ãÇÒ ¼ö ¾ø½À´Ï´Ù. (Á¶¸¸°£
elementÀÇ ByteÅ©±â¸¦ º¸¿©ÁÙ ÁÙ ¼ö ÀÖµµ·Ï ÇϰڽÀ´Ï´Ù.) ±×·¸±â ¶§¹®¿¡ Áö¼ÓÀûÀ¸·Î Áõ°¡ÇÏ´Â °ÍÀÌ 
Heap MemoryÀÇ Áõ°¡¿Í »ó°ü°ü°è°¡ Àִ°¡¸¦ ÆÇ´ÜÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
¸Þ´º¿¡¼­ [snapshot]À» ´©¸£¸é, DELTAÇ׸ñÀÌ 0·Î ¹Ù²ò´Ï´Ù. (TOTALÀº element°³¼ö·Î¼­, ÃʱâÈ­ÇÒ ¼ö ¾ø´Â
°ªÀÔ´Ï´Ù.) DELTAÇ׸ñÀº [snaphot]À» ´©¸£¸é 0À¸·Î ÃʱâÈ­ µÇ°í, ±× ´ÙÀ½ºÎÅÍ element°¡ ´Ã¾î³­ °³¼ö¸¦
º¸¿©ÁÖ°Ô µË´Ï´Ù.

 


ÀÌó·³ TOTAL ¹× DELTA°ªÀÇ º¯È­°¡ Heap MemoryÀÇ Áõ°¡¿Í °ü·ÃÀÌ ÀÖ´ÂÁö Á÷°üÀûÀÎ ÆÇ´ÜÀÌ µÇ¸é, ¾Õ¼­ ±¸ÇÑ
Stacktrace ȤÀº ¸îÂ÷·Ê¿¡ °ÉÃÄ StackTrace¸¦ ¶°¼­, µ¿ÀÏÇÑ ¾îÇø®ÄÉÀ̼ǿ¡¼­ ¹ß»ýµÇ°í ÀÖ´Ù¸é, À̸¦ °®°í
°³¹ßÀÚ¿Í ¾îÇø®ÄÉÀÌ¼Ç ¼Ò½º¸¦ ReivewÇÏ´Â ´Ü°è·Î ÁøÀÔÇÏ¸é µÉ °ÍÀÔ´Ï´Ù.

 

ÀÌó·³ Á¦´ÏÆÛ2.5ÀÇ ¸Þ¸ð¸®/ÄÝ·º¼Ç ÃßÀûÀº Áö¼ÓÀûÀÎ Heap Memory LeakÀÇ ¿øÀÎÀ» Àâ´Âµ¥´Â ¸Å¿ì 
È¿°úÀûÀ̾ú´Ù´Â °ÍÀÌ ¿©·¯ »çÀÌÆ®¿¡¼­ È®ÀεǾú½À´Ï´Ù. ¸ðµç LiveObject°³¼ö ÃßÀûÀº [Àå¾ÖÁø´Ü]->
[¶óÀ̺ê¿ÀºêÁ§Æ®] ¸Þ´º¿¡¼­ È®Àΰ¡´ÉÇÕ´Ï´Ù. ±×·¯³ª, ¾î¶² °´Ã¼°¡ ¸Þ¸ð¸®¸¦ ¾ó¸¶³ª »ç¿ëÇϰí ÀÖ´À³Ä
º¸´Ù´Â ´©°¡ ±× °´Ã¼¸¦ »ý¼ºÇÏ¿© ¹Ð¾î³Ö¾ú³Ä´Â °ÍÀ» ã´Â °ÍÀÌ ´õ¿í Áß¿äÇÑ ºÎºÐÀÔ´Ï´Ù.
¶ÇÇÑ, ¸î¹éMBÀÇ ¸Þ¸ð¸®¸¦ Á¡À¯ÇÒ ¼ö ÀÖ´Â ±¸Á¶´Â ±×·¡ºÁ¾ß Hashtable, Vector, HashMap°ú °°Àº
ÄÝ·º¼Ç(Collection) °´Ã¼ ÀÏ ¼ö ¹Û¿¡ ¾ø´Ù´Â °ÍÀÌÁÒ.

 
NOTE:
[snapshot] : DELTA °ªÀ» ¸ðµÎ 0À¸·Î ÃʱâÈ­ÇÏ¿© ±× ´ÙÀ½ element°¡ µé¾î¿Ã ¶§ºÎÅÍ Áõ°¡½Ãŵ´Ï´Ù.
[stackclear] : ÇöÀç ÄÎÃÄÇÑ ¸ðµç stacktrace¸¦ Áö¿ó´Ï´Ù.
[accept now stack] : ¸®½ºÆÃ µÈ ¸ðµç ÄÝ·º¼ÇÀÇ »óŸ¦ ÇâÈÄ stacktrace¸¦ ¹Þ¾ÆµéÀ̱â À§ÇØ waiting»óÅ·Î
               ¸¸µì´Ï´Ù. 

°¢ ÄÝ·¢¼Ç °³º°ÀûÀ¸·Î À§¿Í °°Àº ÀÛ¾÷À» ÇÏ·Á¸é °¢ °³º° ÄÝ·¢¼Ç¿¡¼­ [accept][clear][accept new] ¸Þ´º¸¦
Ȱ¿ëÇÏ¸é µË´Ï´Ù.

collection_minimum_monitoring_size = 1000 : JVM ³»ºÎ¿£ ¸¹Àº ÄÝ·º¼ÇÀÌ ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ ¼öÄ¡¸¦ ³Ñ¾î¼­´Â
                                            °Í¿¡ ÇÑÇØ¼­¸¸ ¸®½ºÆÃ µË´Ï´Ù. ½Ç½Ã°£ Àû¿ëµÇ³ª, WAS¸¦ Àç½ÃÀÛ
                                            ÇÏ¸é ´Ù½Ã ÃʱⰪÀ¸·Î ¹Ù²ò´Ï´Ù. ¿µ±¸¼³Á¤Àº [±¸¼º°ü¸®]->
                                            [±¸¼º¼³Á¤]¿¡¼­ °¢ WASº°·Î ÁöÁ¤ÇØ ÁÖ¸é µË´Ï´Ù.
collection_auto_stacktrace_size = 10000 : ºñ·Ï ¸®½ºÆ®¿¡ ³ª³ª³µ´ÙÇØµµ ¸í½ÃÀûÀ¸·Î [accept]¸¦ ´­·¯ STACKÀ»
                                            ¹Þ¾ÆµéÀÏ Áغñ°¡ µÇ¾î ÀÖÁö ¾ÊÀ¸¸é STACKÀÌ ½×ÀÌÁö ¾Ê½À´Ï´Ù.
                                            ±×·¯³ª, ÀÌ element °³¼ö°¡ ÀÌ ¼öÄ¡¸¦ ³Ñ¾î¼­¸é ÀÚµ¿À¸·Î
                                            STACKÀÌ ½×ÀÔ´Ï´Ù. Âü°í·Î ½Ç»çÀÌÆ®¿¡ º¸¸é 10¸¸°³¸¦ ³Ñ¾î¼­¸é
                                            À̽´È­°¡ µÇ°ï ÇÏ´õ±º¿ä.

NOTE: ¸Þ¸ð¸®-ÄÝ·º¼Ç ÃßÀû¿¡ µû¸¥ ¼º´ÉÀúÇϵµ´Â »ó´ëÀûÀ¸·Î ¸Å¿ì ¹Ì¹ÌÇÕ´Ï´Ù.

NOTE: IBM JDK¸¦ »ç¿ëÇϰí ÀÖÀ» °æ¿ì´Â Á¦´ÏÆÛ¿Í ¹«°üÇÏ°Ô heapdumpÆÄÀÏÀ» ºÐ¼®ÇÔÀ¸·Î½á 95% ÀÌ»ó °ÅÀÇ
´ëºÎºÐÀÇ ¿øÀÎÀ» ÆÇ´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÚ¹Ù¼­ºñ½º³Ý ÀÌ¿ø¿µ
Phone: 010-6239-6498
E-mail: NOSPAM_lwy@javaservice.com
MSN: NOSPAM_javaservice@hanmail.net

Download memory3.gif (13198 Bytes) memory3.gif (13198 Bytes)
Download memory2.gif (12821 Bytes) memory2.gif (12821 Bytes)
Download memory5.gif (12791 Bytes) memory5.gif (12791 Bytes)
Download memory0.gif (79329 Bytes) memory0.gif (79329 Bytes)
Download memory4.gif (21654 Bytes) memory4.gif (21654 Bytes)
Download memory1.gif (12891 Bytes) memory1.gif (12891 Bytes)
  [±Û¸ñ·Ï /½Ã°£¼ø] [´ä±Û¾²±â] [ÇÁ¸°Æ®]