当前位置: 首页>>代码示例>>Java>>正文


Java ManagementFactory.getPlatformMXBeans方法代码示例

本文整理汇总了Java中java.lang.management.ManagementFactory.getPlatformMXBeans方法的典型用法代码示例。如果您正苦于以下问题:Java ManagementFactory.getPlatformMXBeans方法的具体用法?Java ManagementFactory.getPlatformMXBeans怎么用?Java ManagementFactory.getPlatformMXBeans使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.lang.management.ManagementFactory的用法示例。


在下文中一共展示了ManagementFactory.getPlatformMXBeans方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: sense

import java.lang.management.ManagementFactory; //导入方法依赖的package包/类
@Override
public void sense(final MetricRecorder.Context metricContext)
{
    List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);

    for (BufferPoolMXBean mxBean : pools) {
        //TODO: something else?
        String name = mxBean.getName();
        Metric countMetric = Metric.define("BufferPoolCount_"+name);
        Metric usedMetric = Metric.define("BufferPoolUsed_"+name);
        Metric maxMetric = Metric.define("BufferPoolMax_"+name);

        metricContext.record(countMetric, mxBean.getCount(), Unit.NONE);
        metricContext.record(usedMetric, mxBean.getMemoryUsed() / M, Unit.MEGABYTE);
        metricContext.record(maxMetric,  mxBean.getTotalCapacity() / M, Unit.MEGABYTE);
    }

}
 
开发者ID:awslabs,项目名称:swage,代码行数:19,代码来源:BufferPoolSensor.java

示例2: testByteBufferMXBeanMethods

import java.lang.management.ManagementFactory; //导入方法依赖的package包/类
public void testByteBufferMXBeanMethods() {
	List<BufferPoolMXBean> byteBufferPools = 
		ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);
	
	for (int counter = 0; counter < 10; counter++) {
	
		for (BufferPoolMXBean bean: byteBufferPools) {
			
			// Name should not be blank or null
			assertNotNull ("MXBean name is null", bean.getName());
			assertFalse ("MXBean name is blank", bean.getName().equalsIgnoreCase(""));
			// Total capacity should not be negative
			assertTrue (bean.getName() + "'s total capacity was not greater than zero", bean.getTotalCapacity() >= 0);
			// Likewise memoryUsed
			assertTrue (bean.getName() + "'s memory used was not greater than zero", bean.getMemoryUsed() >= 0);
			
			assertTrue (bean.getName() + "'s object name is null or blank", 
					bean.getObjectName() != null &&	bean.getObjectName().toString() != "");
		}
	}
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-systemtest,代码行数:22,代码来源:ByteBufferMXBeanTest.java

示例3: heartbeat

import java.lang.management.ManagementFactory; //导入方法依赖的package包/类
@Override
protected void heartbeat() {
	// Let them know we are alive
	// Print some stats about the ByteBuffers
	List<BufferPoolMXBean> byteBufferPools = 
		ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);

	String direct = "direct";
	String mapped = "mapped";
	
	for (BufferPoolMXBean bean: byteBufferPools) {
		if (bean.getName().equalsIgnoreCase(direct)) {
			direct += " - " + bean.getMemoryUsed() + "/" + bean.getTotalCapacity();
		}
		if (bean.getName().equalsIgnoreCase(mapped)) {
			mapped += " - " + bean.getMemoryUsed() + "/" + bean.getTotalCapacity();
		}
	}
	
	logMessage(direct + " , " + mapped);
	logMessage("Currently connected clients: " + getConnectedClients().size());
	logMessage("Total bytes received       : " + bytesReceived);
	logMessage("Total clients connected    : " + clientsConnected);
	logMessage("Total clients disconnected : " + clientsDisconnected);
	
	synchronized (connectionsPerSecond) {
		if (!connectionsPerSecond.isEmpty()) {
			logMessage("CPS Max: " + Collections.max(connectionsPerSecond.values()) );
		}
	}
	synchronized (connectionsPerMinute) {
		if (!connectionsPerMinute.isEmpty()) {
			logMessage("CPM Max: " + Collections.max(connectionsPerMinute.values()) );
		}
	}

	logMessage();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-systemtest,代码行数:39,代码来源:EchoServer.java

示例4: getDirectBean

import java.lang.management.ManagementFactory; //导入方法依赖的package包/类
private BufferPoolMXBean getDirectBean() {
  List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);
  for (BufferPoolMXBean b : pools) {
    if (b.getName().equals("direct")) {
      return b;
    }
  }
  throw new IllegalStateException("Unable to find direct buffer bean.  JVM must be too old.");
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:10,代码来源:MemoryIterator.java

示例5: SystemManager

import java.lang.management.ManagementFactory; //导入方法依赖的package包/类
public SystemManager(){
  memoryBean = ManagementFactory.getMemoryMXBean();
  BufferPoolMXBean localBean = null;
  List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);
  for(BufferPoolMXBean b : pools){
    if(b.getName().equals("direct")){
      localBean = b;

    }
  }
  directBean = localBean;
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:13,代码来源:DrillTest.java

示例6: getDirectPool

import java.lang.management.ManagementFactory; //导入方法依赖的package包/类
private static BufferPoolMXBean getDirectPool() {
    final List<BufferPoolMXBean> pools =
              ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);
    for (BufferPoolMXBean pool : pools) {
        if (pool.getName().equals("direct")) {
            return pool;
        }
    }
    throw new Error("could not find direct pool");
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:11,代码来源:TestMaxCachedBufferSize.java

示例7: main

import java.lang.management.ManagementFactory; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
    List<HotSpotDiagnosticMXBean> list =
        ManagementFactory.getPlatformMXBeans(HotSpotDiagnosticMXBean.class);
    HotSpotDiagnosticMXBean mbean = list.get(0);
    checkDiagnosticOptions(mbean);

    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    mbean = ManagementFactory.newPlatformMXBeanProxy(mbs,
                HOTSPOT_DIAGNOSTIC_MXBEAN_NAME,
                HotSpotDiagnosticMXBean.class);
    checkDiagnosticOptions(mbean);
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:13,代码来源:GetDiagnosticOptions.java

示例8: main

import java.lang.management.ManagementFactory; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
    List<HotSpotDiagnosticMXBean> list =
        ManagementFactory.getPlatformMXBeans(HotSpotDiagnosticMXBean.class);
    HotSpotDiagnosticMXBean mbean = list.get(0);
    checkVMOption(mbean);

    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    mbean = ManagementFactory.newPlatformMXBeanProxy(mbs,
                HOTSPOT_DIAGNOSTIC_MXBEAN_NAME,
                HotSpotDiagnosticMXBean.class);
    checkVMOption(mbean);
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:13,代码来源:GetVMOption.java

示例9: main

import java.lang.management.ManagementFactory; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
    List<HotSpotDiagnosticMXBean> list =
        ManagementFactory.getPlatformMXBeans(HotSpotDiagnosticMXBean.class);
    HotSpotDiagnosticMXBean mbean = list.get(0);
    setAllVMOptions(mbean);

    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    mbean = ManagementFactory.newPlatformMXBeanProxy(mbs,
                HOTSPOT_DIAGNOSTIC_MXBEAN_NAME,
                HotSpotDiagnosticMXBean.class);
    setAllVMOptions(mbean);
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:13,代码来源:SetAllVMOptions.java

示例10: getDirectBean

import java.lang.management.ManagementFactory; //导入方法依赖的package包/类
/**
 * @return Direct buffer JMX bean
 */
public static BufferPoolMXBean getDirectBean() {
  List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);
  for (BufferPoolMXBean b : pools) {
    if (b.getName().equals("direct")) {
      return b;
    }
  }
  throw new IllegalStateException("Unable to find direct buffer bean.  JVM must be too old.");
}
 
开发者ID:dremio,项目名称:dremio-oss,代码行数:13,代码来源:MemoryIterator.java

示例11: jvmStats

import java.lang.management.ManagementFactory; //导入方法依赖的package包/类
public static JvmStats jvmStats() {
    MemoryUsage memUsage = memoryMXBean.getHeapMemoryUsage();
    long heapUsed = memUsage.getUsed() < 0 ? 0 : memUsage.getUsed();
    long heapCommitted = memUsage.getCommitted() < 0 ? 0 : memUsage.getCommitted();
    long heapMax = memUsage.getMax() < 0 ? 0 : memUsage.getMax();
    memUsage = memoryMXBean.getNonHeapMemoryUsage();
    long nonHeapUsed = memUsage.getUsed() < 0 ? 0 : memUsage.getUsed();
    long nonHeapCommitted = memUsage.getCommitted() < 0 ? 0 : memUsage.getCommitted();
    List<MemoryPoolMXBean> memoryPoolMXBeans = ManagementFactory.getMemoryPoolMXBeans();
    List<MemoryPool> pools = new ArrayList<>();
    for (MemoryPoolMXBean memoryPoolMXBean : memoryPoolMXBeans) {
        try {
            MemoryUsage usage = memoryPoolMXBean.getUsage();
            MemoryUsage peakUsage = memoryPoolMXBean.getPeakUsage();
            String name = GcNames.getByMemoryPoolName(memoryPoolMXBean.getName(), null);
            if (name == null) { // if we can't resolve it, its not interesting.... (Per Gen, Code Cache)
                continue;
            }
            pools.add(new MemoryPool(name,
                    usage.getUsed() < 0 ? 0 : usage.getUsed(),
                    usage.getMax() < 0 ? 0 : usage.getMax(),
                    peakUsage.getUsed() < 0 ? 0 : peakUsage.getUsed(),
                    peakUsage.getMax() < 0 ? 0 : peakUsage.getMax()
            ));
        } catch (Exception ex) {
            /* ignore some JVMs might barf here with:
             * java.lang.InternalError: Memory Pool not found
             * we just omit the pool in that case!*/
        }
    }
    Mem mem = new Mem(heapCommitted, heapUsed, heapMax, nonHeapCommitted, nonHeapUsed, Collections.unmodifiableList(pools));
    Threads threads = new Threads(threadMXBean.getThreadCount(), threadMXBean.getPeakThreadCount());

    List<GarbageCollectorMXBean> gcMxBeans = ManagementFactory.getGarbageCollectorMXBeans();
    GarbageCollector[] collectors = new GarbageCollector[gcMxBeans.size()];
    for (int i = 0; i < collectors.length; i++) {
        GarbageCollectorMXBean gcMxBean = gcMxBeans.get(i);
        collectors[i] = new GarbageCollector(GcNames.getByGcName(gcMxBean.getName(), gcMxBean.getName()),
                gcMxBean.getCollectionCount(), gcMxBean.getCollectionTime());
    }
    GarbageCollectors garbageCollectors = new GarbageCollectors(collectors);
    List<BufferPool> bufferPoolsList = Collections.emptyList();
    try {
        List<BufferPoolMXBean> bufferPools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);
        bufferPoolsList = new ArrayList<>(bufferPools.size());
        for (BufferPoolMXBean bufferPool : bufferPools) {
            bufferPoolsList.add(new BufferPool(bufferPool.getName(), bufferPool.getCount(),
                    bufferPool.getTotalCapacity(), bufferPool.getMemoryUsed()));
        }
    } catch (Exception e) {
        // buffer pools are not available
    }

    Classes classes = new Classes(classLoadingMXBean.getLoadedClassCount(), classLoadingMXBean.getTotalLoadedClassCount(),
            classLoadingMXBean.getUnloadedClassCount());

    return new JvmStats(System.currentTimeMillis(), runtimeMXBean.getUptime(), mem, threads,
            garbageCollectors, bufferPoolsList, classes);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:60,代码来源:JvmStats.java

示例12: main

import java.lang.management.ManagementFactory; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
    Random rand = new Random();

    // allocate a few direct buffers
    int bufferCount = 5 + rand.nextInt(20);
    buffers = new ArrayList<ByteBuffer>(bufferCount);
    long totalCapacity = 0L;
    for (int i=0; i<bufferCount; i++) {
        int cap = 1024 + rand.nextInt(4096);
        buffers.add( ByteBuffer.allocateDirect(cap) );
        totalCapacity += cap;
    }

    // create a mapped buffer
    Path tmpfile = Files.createTempFile("blah", null);
    tmpfile.toFile().deleteOnExit();
    try (FileChannel fc = FileChannel.open(tmpfile, READ, WRITE)) {
        mbb = fc.map(FileChannel.MapMode.READ_WRITE, 10, 100);
        bufferCount++;
        totalCapacity += mbb.capacity();
    }

    // use platform MXBeans directly
    List<BufferPoolMXBean> pools =
        ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);
    check(pools, bufferCount, totalCapacity);

    // use MBeanServer
    MBeanServer server = ManagementFactory.getPlatformMBeanServer();
    Set<ObjectName> mbeans = server.queryNames(
        new ObjectName("java.nio:type=BufferPool,*"), null);
    pools = new ArrayList<BufferPoolMXBean>();
    for (ObjectName name: mbeans) {
        BufferPoolMXBean pool = ManagementFactory
            .newPlatformMXBeanProxy(server, name.toString(), BufferPoolMXBean.class);
        pools.add(pool);
    }
    check(pools, bufferCount, totalCapacity);

    // attempt to unmap mapped buffer
    WeakReference<MappedByteBuffer> ref = new WeakReference<>(mbb);
    mbb = null;
    do {
        System.gc();
        Thread.sleep(250);
    } while (ref.get() != null);
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:48,代码来源:Basic.java

示例13: testGetPlatformMXBeans

import java.lang.management.ManagementFactory; //导入方法依赖的package包/类
public void testGetPlatformMXBeans() {
	
	// BufferPoolMXBean
	List<BufferPoolMXBean> byteBufferPools = 
		ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);
	
	assertTrue("No BufferPoolMXBeans returned", byteBufferPools.size() > 0);
	
	// ThreadMXBean
	List<ThreadMXBean> threadMXBeans = 
		ManagementFactory.getPlatformMXBeans(ThreadMXBean.class);
	
	assertTrue("No ThreadMXBeans returned", threadMXBeans.size() > 0);
	
	// ClassLoadingMXBean
	List<ClassLoadingMXBean> classloadingMXBeans = 
		ManagementFactory.getPlatformMXBeans(ClassLoadingMXBean.class);
	
	assertTrue("No ClassLoadingMXBeans returned", classloadingMXBeans.size() > 0);
	
	// GarbageCollectorMXBean
	List<GarbageCollectorMXBean> gcMXBeans = 
		ManagementFactory.getPlatformMXBeans(GarbageCollectorMXBean.class);
	
	assertTrue("No GarbageCollectorMXBeans returned", gcMXBeans.size() > 0);
	
	// MemoryManagerMXBean
	List<MemoryManagerMXBean> memoryManagerBeans = 
		ManagementFactory.getPlatformMXBeans(MemoryManagerMXBean.class);
	
	assertTrue("No MemoryManagerMXBeans returned", memoryManagerBeans.size() > 0);

	// MemoryPoolMXBean
	List<MemoryPoolMXBean> memoryPoolBeans = 
		ManagementFactory.getPlatformMXBeans(MemoryPoolMXBean.class);
	
	assertTrue("No MemoryPoolMXBeans returned", memoryPoolBeans.size() > 0);
	
	// RuntimeMXBean
	List<RuntimeMXBean> runtimeBeans = 
		ManagementFactory.getPlatformMXBeans(RuntimeMXBean.class);
	
	assertTrue("No RuntimeMXBeans returned", runtimeBeans.size() > 0);
	
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-systemtest,代码行数:46,代码来源:ByteBufferMXBeanTest.java


注:本文中的java.lang.management.ManagementFactory.getPlatformMXBeans方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。