|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
public interface MemoryMXBean
Java °¡»ó ¸Ó½ÅÀÇ ¸Þ¸ð¸®½Ã½ºÅÛÀÇ °ü¸® ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
Java °¡»ó ¸Ó½ÅÀº ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ±¸Çö Ŭ·¡½ºÀÇ ´ÜÀÏ ÀνºÅϽº¸¦ °¡Áý´Ï´Ù. ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ°í ÀÖ´Â ÀνºÅϽº´Â ManagementFactory.getMemoryMXBean()
¸Þ¼µå¸¦ È£ÃâÇØ ÃëµæÇÒ ¼ö ÀÖ´Ù, ȤÀº platform MBeanServer
¸Þ¼µå·ÎºÎÅÍ ÃëµæÇÒ ¼ö ÀÖ´Â MXBean ÀÔ´Ï´Ù.
MBeanServer ³»¿¡¼ ¸Þ¸ð¸®½Ã½ºÅÛÀÇ MXBean¸¦ ÀÏÀÇ¿¡ ½Äº°Çϱâ À§ÇÑ ObjectName´Â ÀÌÇÏ´ë·ÎÀÔ´Ï´Ù.
java.lang:type=Memory
heap´Â °íÁ¤ »çÀÌÁî·Î ÇÏ´Â Àϵµ, È®Àå ¶Ç´Â Ãà¼ÒÇÒ ¼öµµ ÀÖ½À´Ï´Ù. heapÀÇ ¸Þ¸ð¸®´Â ¿¬¼ÓÇÏ°í ÀÖÀ» ÇÊ¿ä´Â ¾ø½À´Ï´Ù.
Java °¡»ó ¸Ó½Å¿¡´Â ¸ðµç thread°£¿¡ °øÀ¯µÇ´Â ¡¸¸Þ¼µå ¿µ¿ª¡¹ÀÌ ÀÖ½À´Ï´Ù. ¸Þ¼µå ¿µ¿ªÀº heap ÀÌ¿ÜÀÇ ¸Þ¸ð¸®¿¡ ¼ÓÇÕ´Ï´Ù. ¸Þ¼µå ¿µ¿ªÀº ½ÇÇà ¿ÏȽð£ Ç®, field data³ª ¸Þ¼µå µ¥ÀÌÅÍ, ¸Þ¼µå¿Í »ý¼ºÀÚ ÄÚµå µî, Ŭ·¡½º¸¶´ÙÀÇ ±¸Á¶¸¦ Æ÷ÇÔÇÕ´Ï´Ù. ¸Þ¼µå ¿µ¿ªÀº Java °¡»ó ¸Ó½ÅÀÇ ½ÃÀ۽ÿ¡ ÀÛ¼ºµË´Ï´Ù.
¸Þ¼µå ¿µ¿ªÀº ³í¸®ÀûÀÌ°Ô´Â heapÀÇ ÀϺÎÀÔ´Ï´Ù¸¸, °¡»ó ¸Ó½ÅÀÇ ±¸Çö¿¡¼´Â °¡ºñÁö Ä÷ºÆ®ÇÏÁö ¾Ê°Ô Çϰųª ÄÄÆÑÆ®ÈÇϰųª ÇÏ´Â °ÍÀ» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. heap¿Í °°°Ô, ¸Þ¼µå ¿µ¿ªÀº °íÁ¤ »çÀÌÁî·Î Çϰųª È®Àå ¶Ç´Â Ãà¼ÒÇϰųª ÇÒ ¼ö ÀÖ½À´Ï´Ù . ¸Þ¼µå ¿µ¿ªÀÇ ¸Þ¸ð¸®´Â ¿¬¼ÓÇÏ°í ÀÖÀ» ÇÊ¿ä´Â ¾ø½À´Ï´Ù.
¸Þ¼µå ¿µ¿ª ¿Ü¿¡ Java °¡»ó ¸Ó½ÅÀÇ ±¸Çö¿¡¼´Â ³»ºÎ 󸮳ª ÃÖÀûȸ¦ À§ÇÑ ¸Þ¸ð¸®¸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù¸¸, ÀÌ ¸Þ¸ð¸®µµ heap ÀÌ¿ÜÀÇ ¸Þ¸ð¸®¿¡ ¼ÓÇÕ´Ï´Ù. ¿¹¸¦ µé¾î JIT ÄÄÆÄÀÏ·¯¿¡¼´Â °í¼º´ÉÀ» ½ÇÇöÇϴµ¥ Java °¡»ó ¸Ó½Å ÄÚµå·ÎºÎÅÍ º¯È¯µÈ ³×ÀÌƼºê ±â°è ÄÚµåÀÇ ¸Þ¸ð¸®°¡ ÇÊ¿äÇÕ´Ï´Ù.
¸Þ¸ð¸®ÇÁ¸£
¿Í
MS-DOS¸Þ¸ð¸® °ü¸® ÇÁ·Î±×·¥
Àº Java °¡»ó ¸Ó½ÅÀÇ ¸Þ¸ð¸®½Ã½ºÅÛÀ» °¨½Ã ¹× °ü¸®ÇÏ´Â Ãß»ó ¿£Æ¼Æ¼ÀÔ´Ï´Ù.
¸Þ¸ð¸®ÇÁ¸£´Â Java °¡»ó ¸Ó½ÅÀÌ °ü¸®ÇÏ´Â ¸Þ¸ð¸® ¿µ¿ªÀ» ³ªÅ¸³À´Ï´Ù. Java °¡»ó ¸Ó½ÅÀº Àû¾îµµ 1°³ÀÇ ¸Þ¸ð¸®ÇÁ¸£¸¦ °¡Á®, ½ÇÇàÁß¿¡ ¸Þ¸ð¸®ÇÁ¸£¸¦ ÀÛ¼º ¶Ç´Â »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸Þ¸ð¸®ÇÁ¸£´Â heap ¶Ç´Â heap ÀÌ¿ÜÀÇ ¸Þ¸ð¸®¿¡ ¼ÓÇÒ ¼ö ÀÖ½À´Ï´Ù .
MS-DOS¸Þ¸ð¸® °ü¸® ÇÁ·Î±×·¥ Àº 1°³ ÀÌ»óÀÇ ¸Þ¸ð¸®ÇÁ¸£ÀÇ °ü¸®¸¦ ´ã´çÇÕ´Ï´Ù. °¡ºñÁö Ä÷ºÅÍ´Â µµ´ÞÇÒ ¼ö ¾ø´Â °´Ã¼¿¡ ÀÇÇØ Á¡À¯ µÈ ¸Þ¸ð¸®ÀÇ Àç»ýÀ» ´ã´çÇÏ´Â MS-DOS¸Þ¸ð¸® °ü¸® ÇÁ·Î±×·¥ 1 Á¾ÀÔ´Ï´Ù. Java °¡»ó ¸Ó½ÅÀº 1°³ ÀÌ»óÀÇ MS-DOS¸Þ¸ð¸® °ü¸® ÇÁ·Î±×·¥À» °¡Áú ¼ö°¡ ÀÖ½À´Ï´Ù. Java °¡»ó ¸Ó½ÅÀº ½ÇÇàÁß¿¡ MS-DOS¸Þ¸ð¸® °ü¸® ÇÁ·Î±×·¥À» Ãß°¡ ¶Ç´Â »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. º¹¼öÀÇ MS-DOS¸Þ¸ð¸® °ü¸® ÇÁ·Î±×·¥ À¸·Î 1°³ÀÇ ¸Þ¸ð¸®ÇÁ¸£¸¦ °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸Þ¸ð¸® »ç¿ë·®Àº ´ÙÀ½ÀÇ 3°³ÀÇ ¹æ¹ýÀ¸·Î °¨½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
MemoryPoolMXBean
ÀÎÅÍÆäÀ̽º·Î ÁöÁ¤µË´Ï´Ù.
¸Þ¸ð¸® »ç¿ë·® °¨½Ã ¸ÞÄ«´ÏÁòÀº load balancing ¶Ç´Â ÀÛ¾÷ load sharing¿¡ »ç¿ëÇÏ´Â °ÍÀ» ¸ñÀûÀ¸·Î ÇÏ°í ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ¾îÇø®ÄÉÀ̼ÇÀº ¸Þ¸ð¸® »ç¿ëÀÌ ÀÏÁ¤ÇÑÀÇÇØ ±ÍÀÇÄ¡¸¦ ³Ñ¾úÀ» ¶§¿¡ »õ·Î¿î ÀÛ¾÷ ºÎÇÏÀÇ ¼ö¶ôÀ» Á¤ÁöÇÕ´Ï´Ù. ¸Þ¸ð¸® »ç¿ë·® °¨½Ã ¸ÞÄ«´ÏÁòÀº ¾îÇø®ÄÉÀ̼ÇÀ» À§Çؼ ¸Þ¸ð¸® ºÎÁ· Á¶°ÇÀ» °ËÃâÇϰųª ¸Þ¸ð¸® ºÎÁ· Á¶°ÇÀ¸·ÎºÎÅÍ È¸º¹ÇϰųªÇϱâ À§ÇÑ °ÍÀÌ ¾Æ´Õ´Ï´Ù.
MemoryPoolMXBean.isUsageThresholdSupported()
¸Þ¼µå¿Í MemoryPoolMXBean.isCollectionUsageThresholdSupported()
¸Þ¼µå¸¦ È£ÃâÇØ ÆÇÁ¤ÇÒ ¼ö Àִ»ç¿ë·®ÀÇÇØ ±ÍÀÇÄ¡³ªÄ÷º¼Ç »ç¿ë·®ÀÇÇØ ±ÍÀÇÄ¡¸¦ ¸Þ¸ð¸®ÇÁ¸£ÀÇ 1°³°¡ Áö¿øÇÏ´ÂÀÎ °æ¿ì, ÀÌ MemoryMXBean´Â
2 Á¾·ùÀÇ ¸Þ¸ð¸®ÅëÁö
¸¦ ¹ßÇàÇÏ´Â NotificationEmitter
ÀÔ´Ï´Ù.
»ç¿ë·®ÀÇÇØ ±ÍÀÇÄ¡ ÃÊ°ú ÅëÁö
´Â
¸Þ¸ð¸®ÇÁ¸£ÀÇ ¸Þ¸ð¸® »ç¿ë·®ÀÌ Áõ°¡ÇØ, »ç¿ë·®ÀÇÇØ ±ÍÀÇÄ¡¿¡ À̸£·¶´ÂÁö, ³ÑÀº °ÍÀ» ÅëÁöÇÕ´Ï´Ù. Ä÷º¼Ç »ç¿ëÇØ ±ÍÀÇÄ¡ ÃÊ°ú ÅëÁö
´Â
Java °¡»ó ¸Ó½ÅÀÌ ¸Þ¸ð¸®ÇÁ¸£·Î »ç¿ëÇÏÁö ¾Ê´Â °´Ã¼ÀÇ ¸®»çÀÌŬ¿¡ ÃÖ¼±À» ´ÙÇÑµÚ ¸Þ¸ð¸®ÇÁ¸£ÀÇ ¸Þ¸ð¸® »ç¿ë·®ÀÌÄ÷º¼Ç »ç¿ë·®ÀÇÇØ ±ÍÀÇÄ¡ ÀÌ»óÀÎ °ÍÀ» ÅëÁöÇÕ´Ï´Ù.
¹ßÇàµÈ ÅëÁö´Â Notification
ÀνºÅϽºÀÔ´Ï´Ù. ÀÌ ÀνºÅϽºÀÇ »ç¿ëÀÚ
µ¥ÀÌÅÍ
´Â
ÅëÁö°¡ ±¸ÃàµÇ¾úÀ» ¶§ÀÇ ¸Þ¸ð¸®ÇÁ¸£¿¡ °üÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÑ MemoryNotificationInfo
°´Ã¼¸¦ ³ªÅ¸³»´Â CompositeData
·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. CompositeData Àº, MemoryNotificationInfo
¿¡ ±â¼úµÈ ¼Ó¼ºÀ» Æ÷ÇÔÇÕ´Ï´Ù.
ManagementFactory.getMemoryMXBean()
¿¡ ÀÇÇØ ¸®ÅϵÈ
MemoryMXBean °´Ã¼´Â ¸®½º³Ê¸¦ ÅëÁö ¸®½º³Ê·Î¼ MemoryMXBean ³»¿¡¼ µî·ÏÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â NotificationEmitter
ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù. ÀÌÇÏ´Â MemoryMXBean¿¡ ÀÇÇØ ¹ßÇàµÈ ÅëÁö¸¦ ó¸®Çϱâ À§ÇÑ MyListener¸¦ µî·ÏÇÏ´Â »ùÇà ÄÚµåÀÔ´Ï´Ù.
class MyListener implements javax.management.NotificationListener { public void handleNotification(Notification notif, Object handback) { // handle notification .... } } MemoryMXBean mbean = ManagementFactory.getMemoryMXBean(); NotificationEmitter emitter = (NotificationEmitter) mbean; MyListener listener = new MyListener(); emitter.addNotificationListener(listener, null, null);
¸Þ¼µå °³¿ä | |
---|---|
void |
gc ()
°¡ºñÁö Ä÷ºÅ͸¦ ½ÇÇàÇÕ´Ï´Ù. |
MemoryUsage |
getHeapMemoryUsage ()
°´Ã¼ÀÇ ÇÒ´ç¿¡ »ç¿ëµÇ´Â heapÀÇ ÇöÀçÀÇ ¸Þ¸ð¸® »ç¿ë·®À» ¸®ÅÏÇÕ´Ï´Ù. |
MemoryUsage |
getNonHeapMemoryUsage ()
Java °¡»ó ¸Ó½Å¿¡ ÀÇÇØ »ç¿ëµÇ´Â heap ÀÌ¿ÜÀÇ ÇöÀçÀÇ ¸Þ¸ð¸® »ç¿ë·®À» ¸®ÅÏÇÕ´Ï´Ù. |
int |
getObjectPendingFinalizationCount ()
ÆÄÀ̳ª¶óÀÌÁ Áß´ÜÇÏ°í ÀÖ´Â °´Ã¼ÀÇ ´ë·«ÀÇ ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
boolean |
isVerbose ()
¸Þ¸ð¸®½Ã½ºÅÛÀÇ »ó¼¼ Ãâ·ÂÀÌ À¯È¿ÇÑ°¡ ¾î¶²°¡¸¦ Å×½ºÆ®ÇÕ´Ï´Ù. |
void |
setVerbose (boolean value)
¸Þ¸ð¸®½Ã½ºÅÛÀÇ »ó¼¼ Ãâ·ÂÀ» À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÕ´Ï´Ù. |
¸Þ¼µåÀÇ »ó¼¼ |
---|
int getObjectPendingFinalizationCount()
MemoryUsage getHeapMemoryUsage()
¸®ÅÏµÈ ¸Þ¸ð¸® »ç¿ë·®¿¡ ÀÖ¾î¼ÀÇ »ç¿ëµÈ ¸Þ¸ð¸®ÀÇ ¾çÀº ¶óÀÌºê °´Ã¼¿Í ¼öÁýµÇÁö ¾Ê¾Ò´ø °¡ºñÁö °´Ã¼ (Á¸ÀçÇÏ´Â °æ¿ì)ÀÇ ¾çÂÊ ¸ðµÎ¿¡ ÀÇÇØ Á¡À¯ µÈ ¸Þ¸ð¸®ÀÇ ¾çÀÔ´Ï´Ù.
MBeanServer ¾×¼¼½º:
MemoryUsage
¸ÊÇüÀº, MemoryUsage
·Î ÁöÁ¤µÈ ¼Ó¼ºÀ» °¡Áö´Â CompositeData ÀÔ´Ï´Ù.
MemoryUsage
°´Ã¼MemoryUsage getNonHeapMemoryUsage()
MBeanServer ¾×¼¼½º:
MemoryUsage
¸ÊÇüÀº, MemoryUsage
·Î ÁöÁ¤µÈ ¼Ó¼ºÀ» °¡Áö´Â CompositeData ÀÔ´Ï´Ù.
MemoryUsage
°´Ã¼boolean isVerbose()
void setVerbose(boolean value)
ÀÌ ¸Þ¼µåÀÇ È£Ã⸶´Ù, »ó¼¼ Ãâ·ÂÀº Æ÷°ýÀûÀ¸·Î À¯È¿ ¶Ç´Â ¹«È¿°¡ µË´Ï´Ù.
value
- »ó¼¼ Ãâ·ÂÀ» À¯È¿ÇÏ°Ô ÇÏ´Â °æ¿ì´Â true, ¹«È¿·Î ÇÏ´Â °æ¿ì´Â false
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì·Î È£Ãâ¿øÀÌ ManagementPermission("control")¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ìvoid gc()
gc()
È£ÃâÀÇ µ¿ÀÛÀº ½ÇÁ¦·Î´Â ´ÙÀ½ÀÇ È£Ãâ°ú °°½À´Ï´Ù. System.gc()
System.gc()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.