|
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 µµ ÂüÁ¶ÇϽʽÿÀ.