JavaTM 2 Platform
Standard Ed. 5.0

ÆÐÅ°Áö java.lang.management

Java °¡»ó ¸Ó½ÅÀÇ °ü¸® ¹× Java °¡»ó ¸Ó½ÅÀÌ ½ÇÇàµÇ°í ÀÖ´Â OS ÀÇ °ü¸®¸¦ °¨½ÃÇÏ´Â °ü¸® ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÕ´Ï´Ù.

ÂüÁ¶Ã³:
          ¼³¸í

ÀÎÅÍÆäÀ̽º °³¿ä
ClassLoadingMXBean Java °¡»ó ¸Ó½ÅÀÇ Å¬·¡½º ·Îµù ½Ã½ºÅÛÀÇ °ü¸® ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
CompilationMXBean Java °¡»ó ¸Ó½ÅÀÇ ÄÄÆÄÀÏ ½Ã½ºÅÛÀÇ °ü¸® ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
GarbageCollectorMXBean Java °¡»ó ¸Ó½ÅÀÇ °¡ºñÁö Ä÷º¼ÇÀÇ °ü¸® ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
MemoryManagerMXBean MS-DOS¸Þ¸ð¸® °ü¸® ÇÁ·Î±×·¥ °ü¸® ÀÎÅÍÆäÀ̽º.
MemoryMXBean Java °¡»ó ¸Ó½ÅÀÇ ¸Þ¸ð¸®½Ã½ºÅÛÀÇ °ü¸® ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
MemoryPoolMXBean ¸Þ¸ð¸®ÇÁ¸£ÀÇ °ü¸® ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
OperatingSystemMXBean Java °¡»ó ¸Ó½ÅÀ» ½ÇÇàÇÏ°í ÀÖ´Â OS ÀÇ °ü¸® ÀÎÅÍÆäÀ̽º¸¦ ¸®ÅÏÇÕ´Ï´Ù.
RuntimeMXBean Java °¡»ó ¸Ó½ÅÀÇ ½ÇÇà½Ã ½Ã½ºÅÛÀÇ °ü¸® ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
ThreadMXBean Java °¡»ó ¸Ó½ÅÀÇ thread ½Ã½ºÅÛÀÇ °ü¸® ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
 

Ŭ·¡½º °³¿ä
ManagementFactory ManagementFactory Ŭ·¡½º´Â Java Ç÷§ÆûÀÇ °ü¸® ºóÀ» ÃëµæÇϱâ À§ÇÑ ÆÑÅ丮 Ŭ·¡½ºÀÔ´Ï´Ù.
ManagementPermission SecurityManager¿¡ ÀÇÇØ ½ÇÇàµÇ´Â Äڵ尡 Java Ç÷§ÆûÀÇ °ü¸® ÀÎÅÍÆäÀ̽º·Î Á¤ÀÇµÈ ¸Þ¼­µå¸¦ È£ÃâÇÒ ¶§, SecurityManager°¡ üũÇÏ´Â Á¢±Ù ±ÇÇÑÀÔ´Ï´Ù.
MemoryNotificationInfo ¸Þ¸ð¸® ÅëÁö¿¡ °üÇÑ Á¤º¸ÀÔ´Ï´Ù.
MemoryUsage MemoryUsage °´Ã¼´Â ¸Þ¸ð¸® »ç¿ë·®ÀÇ snapshot¸¦ ³ªÅ¸³À´Ï´Ù.
ThreadInfo thread Á¤º¸ÀÔ´Ï´Ù.
 

¿­°ÅÇüÀÇ °³¿ä
MemoryType ¸Þ¸ð¸®ÇÁ¸£ ÇüÀÔ´Ï´Ù.
 

ÆÐÅ°Áö java.lang.management ¼³¸í

Java °¡»ó ¸Ó½ÅÀÇ °ü¸® ¹× Java °¡»ó ¸Ó½ÅÀÌ ½ÇÇàµÇ°í ÀÖ´Â OS ÀÇ °ü¸®¸¦ °¨½ÃÇÏ´Â °ü¸® ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ °ü¸® ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇϸé, ½ÇÇàÇÏ°í ÀÖ´Â Java °¡»ó ¸Ó½ÅÀ» ·ÎÄà ¹× ¸®¸ðÆ®¿¡ °¨½Ã ¹× °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.

Ç÷§Æû MXBean

ÀÌ ÆÐÅ°Áö´Â ¾Æ·¡ÀÇ ÄÄÆÛ³ÍÆ®ÀÇ °ü¸® ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇÕ´Ï´Ù.

°ü¸® ÀÎÅÍÆäÀ̽º

¼³¸í

ClassLoadingMXBean Java °¡»ó ¸Ó½ÅÀÇ Å¬·¡½º ·Îµù ½Ã½ºÅÛ
CompilationMXBean Java °¡»ó ¸Ó½ÅÀÇ ÄÄÆÄÀÏ ½Ã½ºÅÛ
MemoryMXBean Java °¡»ó ¸Ó½ÅÀÇ ¸Þ¸ð¸®½Ã½ºÅÛ
ThreadMXBean Java °¡»ó ¸Ó½ÅÀÇ thread ½Ã½ºÅÛ
RuntimeMXBean Java °¡»ó ¸Ó½ÅÀÇ ½ÇÇà½Ã ½Ã½ºÅÛ
OperatingSystemMXBean Java °¡»ó ¸Ó½ÅÀ» ½ÇÇàÇÏ°í ÀÖ´Â OS
GarbageCollectorMXBean Java °¡»ó ¸Ó½ÅÀÇ °¡ºñÁö Ä÷ºÅÍ
MemoryManagerMXBean Java °¡»ó ¸Ó½ÅÀÇ MS-DOS¸Þ¸ð¸® °ü¸® ÇÁ·Î±×·¥
MemoryPoolMXBean Java °¡»ó ¸Ó½ÅÀÇ ¸Þ¸ð¸®ÇÁ¸£

Ç÷§Æû MXBean´Â ±× Ç÷§ÆûÀÇ ´ÜÀÏÀÇ ÄÄÆÛ³ÍÆ®¸¦ À§ÇÑ °ü¸® ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇÏ´Â ¡¸°ü¸® ºó¡¹À̸ç, ManagementFactory Ŭ·¡½º¿¡¼­ ÁöÁ¤µË´Ï´Ù.

¾îÇø®ÄÉÀ̼ÇÀº Java °¡»ó ¸Ó½ÅÀÇ ÀνºÆ®¸£¸àÅ×À̼ÇÀ» °¨½ÃÇØ, ´ÙÀ½ÀÇ ¹æ¹ýÀ¸·Î ƯÁ¤ÀÇ Æ¯¼ºÀ» °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌÇÏ¿¡¼­´Â ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î MXBean¿¡ ¾×¼¼½º ÇÏ´Â ¸î°³ÀÇ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.

ManagementFactory

ManagementFactory Ŭ·¡½º´Â Java Ç÷§ÆûÀÇ °ü¸® ÆÑÅ丮 Ŭ·¡½ºÀÔ´Ï´Ù. ÀÌ Å¬·¡½º´Â Java Ç÷§ÆûÀÇ MXBean¸¦ ¾ò´Â 1Á¶ÀÇ static ÆÑÅ丮 ¸Þ¼­µå¸¦ Á¦°øÇØ, ¾îÇø®ÄÉÀ̼ÇÀº MBXean¿¡ Á÷Á¢ ¾×¼¼½º ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.

¡¸Ç÷§Æû MBeanServer¡¹¿¡´Â getPlatformMBeanServer ¸Þ¼­µå·Î ¾×¼¼½º ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼­µå¿¡ÀÇ ÃÖÃÊÀÇ È£Ãâ·Î Ç÷§Æû MBeanServer¸¦ ÀÛ¼ºÇØ, LoggingMXBean µîÀÇ ´Ù¸¥ ÆÐÅ°Áö·Î Á¤ÀÇµÈ Ç÷§Æû MXBean¸¦ Æ÷ÇÔÇÑ ¸ðµç Ç÷§Æû MXBean¸¦ µî·ÏÇÕ´Ï´Ù. °¢ Ç÷§Æû MXBean´Â ObjectName¸¦ ±¸ÃàÇÏ°í ÀÖ´Ù ManagementFactory Ŭ·¡½º¿¡¼­ Á¤ÀÇµÈ ÀÏÀÇÀÇ À̸§À¸·Î µî·ÏµË´Ï´Ù. ÀÌ°ÍÀº °°Àº Java °¡»ó ¸Ó½Å³»¿¡¼­ ½ÇÇàµÇ°í ÀÖ´Â ´Ù¸¥ °ü¸® ÄÄÆÛ³ÍÆ®·Î °øÀ¯ÇÒ ¼ö ÀÖ´Â ´ÜÀÏÀÇ MBeanServer ÀÔ´Ï´Ù.

»óÈ£ ¿î¿ë¼º

½ÇÇàÁßÀÇ °¡»ó ¸Ó½ÅÀÇ °ü¸® ¾îÇø®ÄÉÀ̼ǰú Ç÷§Æû MBeanServer´Â Ç÷§Æû MXBean ÀÎÅÍÆäÀ̽º·Î »ç¿ëµÇ´Â Ŭ·¡½º¸¦ ÇÊ¿ä·Î ÇÏ´Â ÀÏ ¾øÀÌ »óÈ£ ¿î¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. JMX Ä¿³ØÅÍ ¼­¹ö¿Í Ä¿³ØÅÍ Å¬¶óÀ̾ðÆ®ÀÇ »çÀÌ¿¡ Àü¼Û µÇ´Â µ¥ÀÌÅÍÇüÀº JMX open types À̸ç, ÀÌ°Í¿¡ ÀÇÇØ ¹öÀü °£ÀÇ »óÈ£ ¿î¿ëÀÌ °¡´ÉÇÕ´Ï´Ù. ManagementFactory Ŭ·¡½º¿¡¼­ ÁöÁ¤µË´Ï´Ù.

MXBean¿¡ ¾×¼¼½º ÇÏ´Â ¹æ¹ý

°ü¸® ÀÎÅÍÆäÀ̽º¿¡ ¾×¼¼½º ÇÏ·Á¸é, ¾Æ·¡ÀÇ 3 Åë°úÇØ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.

  1. °°Àº Java °¡»ó ¸Ó½Å³»¿¡¼­ MXBean ¸Þ¼­µå¸¦ Á÷Á¢ È£ÃâÇÑ´Ù
     RuntimeMXBean mxbean = ManagementFactory.getRuntimeMXBean();
     // Get the standard attribute "VmVendor" String vendor = mxbean.getVmVendor();
    
  2. ½ÇÇàÁßÀÇ °¡»ó ¸Ó½ÅÀÇ Ç÷§Æû MBeanServer¿¡ Á¢¼ÓÇÏ°í ÀÖ´Â MBeanServerConnection¸¦ Æ÷ÇÔÇÑ ´Ù
  3.  MBeanServerConnection mbs;
     // Connect to a running JVM (or itself) and get MBeanServerConnection // that has the JVM MXBeans registered in it ...
     try { // Assuming the RuntimeMXBean has been registered in mbs ObjectName oname = new ObjectName(ManagementFactory.RUNTIME_MXBEAN_NAME);     // Get standard attribute "VmVendor" String vendor = (String) mbs.getAttribute(oname, "VmVendor"); } catch (....) { // Catch the exceptions thrown by ObjectName constructor // and MBeanServer.getAttribute method ... }
    
  4. MXBean ÇÁ·Ï½Ã¸¦ »ç¿ëÇÑ´Ù
  5.  MBeanServerConnection mbs;
     // Connect to a running JVM (or itself) and get MBeanServerConnection // that has the JVM MBeans registered in it ...
     // Get a MBean proxy for RuntimeMXBean interface RuntimeMXBean proxy =  ManagementFactory.newPlatformMXBeanProxy(mbs, ManagementFactory.RUNTIME_MXBEAN_NAME, RuntimeMXBean.class); // Get standard attribute "VmVendor"  String vendor = proxy.getVmVendor();

Ç÷§ÆûÀÇ È®Àå

Java °¡»ó ¸Ó½ÅÀÇ ±¸Çö¿¡¼­´Â Ç¥ÁØÀÇ °ü¸® ÀÎÅÍÆäÀ̽º¸¦ È®ÀåÇØ Ç÷§Æû °íÀ¯ÀÇ ¸ÞÆ®¸¯½º¿Í °ü¸® Á¶ÀÛÀ» Ãß°¡ÇÏ´Â Ç÷§Æû Á¸ÀÇ ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇÏ´Â °ÍÀ¸·Î °ü¸® ÀÎÅÍÆäÀ̽º¿¡ Ç÷§ÆûÀÇ È®ÀåÀ» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ManagementFactory Ŭ·¡½ºÀÇ static ÆÑÅ丮 ¸Þ¼­µå´Â Ç÷§Æû È®ÀåÀ¸·Î MBean¸¦ ¸®ÅÏÇÕ´Ï´Ù.

º¥´õÀÇ À̸§ µî º¥´õ °íÀ¯ÀÇ Á¢µÎ»ç¸¦ »ç¿ëÇØ Ç÷§Æû °íÀ¯ÀÇ ¼Ó¼º¿¡ À̸§À» ºÙ¿©, Ç¥ÁØ °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ Àå·¡ÀÇ È®Àå°ú ÀÌ Ç÷§Æû È®À嵿¾È¿¡¼­ ¼Ó¼ºÀÇ À̸§ÀÇ Ãæµ¹ÀÌ ¹ß»ýÇÏÁö ¾Ê°Ô ÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. Ç¥ÁØ °ü¸® ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ Àå·¡ÀÇ È®ÀåÀÌ, °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ »õ·Î¿î ¼Ó¼ºÀ» Á¤ÀÇÇØ, ¼Ó¼º¸íÀÌ º¥´õ °íÀ¯ÀÇ ¼Ó¼ºÀÇ À̸§°ú °°Àº °ÍÀ» ¾Ë ¼ö ÀÖ¾úÀ» °æ¿ì, ¹ÙÁÒ´×°ú ȣȯ¼ºÀÇ ¹®Á¦¿¡ ´ëóÇϱâ À§Çؼ­ º¥´õ °íÀ¯ÀÇ ¼Ó¼º¿¡ ¾×¼¼½º ÇÏ°í ÀÖ´Â ¾îÇø®ÄÉÀ̼ÇÀ» º¯°æÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

¾Æ·¡ÀÇ ¿¹¿¡¼­´Â Sun RuntimeMXBean ±¸ÇöÀ¸·ÎºÎÅÍ Ç÷§Æû °íÀ¯ÀÇ ¼Ó¼º¿¡ ¾×¼¼½º ÇÏ´Â ¹æ¹ýÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù.

1) Sun °íÀ¯ÀÇ MXBean ÀÎÅÍÆäÀ̽º¿¡ÀÇ Á÷Á¢ ¾×¼¼½º

 com.sun.management.RuntimeMXBean mxbean =  (com.sun.management.RuntimeMXBean) ManagementFactory.getRuntimeMXBean();
 // Get the standard attribute "VmVendor" String vendor = mxbean.getVmVendor();
 // Get the platform-specific attribute "Bar" BarType bar = mxbean.getBar();

2) Sun °íÀ¯ÀÇ MXBean ÀÎÅÍÆäÀ̽º¿¡ÀÇ MBeanServer¸¦ Æ÷ÇÔÇÑ ¾×¼¼½º

 MBeanServerConnection mbs;
 // Connect to a running JVM (or itself) and get MBeanServerConnection // that has the JVM MXBeans registered in it ...
 try { // Assuming the RuntimeMXBean has been registered in mbs ObjectName oname = new ObjectName(ManagementFactory.RUNTIME_MXBEAN_NAME);     // Get standard attribute "VmVendor" String vendor = (String) mbs.getAttribute(oname, "VmVendor");
 // Check if this MXBean contains Sun's extension if (mbs.isInstanceOf(oname, "com.sun.management.RuntimeMXBean")) { // Get platform-specific attribute "Bar" BarType bar = (String) mbs.getAttribute(oname, "Bar"); } } catch (....) { // Catch the exceptions thrown by ObjectName constructor // and MBeanServer methods ... }

¿Ü·Î ÁöÁ¤ÀÌ ¾ø´Â °æ¿ì, ÀÌ ÆÐÅ°ÁöÀÇ ÀÓÀÇÀÇ Å¬·¡½º ¶Ç´Â ÀÎÅÍÆäÀ̽ºÀÇ »ý¼ºÀÚ ¸Þ¼­µå¿¡ null Àμö¸¦ °Ç³×ÁÖ¸é, NullPointerExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù

°ü·Ã Ç׸ñ:
JMX Specification

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.