List of usage examples for java.lang.management MemoryMXBean getNonHeapMemoryUsage
public MemoryUsage getNonHeapMemoryUsage();
From source file:org.soitoolkit.commons.mule.util.MiscUtil.java
private static void printMemUsage() { int mb = 1024 * 1024; MemoryMXBean mxb = ManagementFactory.getMemoryMXBean(); MemoryUsage hm = mxb.getHeapMemoryUsage(); MemoryUsage nhm = mxb.getNonHeapMemoryUsage(); // int finalizable = mxb.getObjectPendingFinalizationCount(); logger.trace("Heap Memory: init/used/committed/max=" + hm.getInit() / mb + "/" + hm.getUsed() / mb + "/" + hm.getCommitted() / mb + "/" + hm.getMax() / mb); logger.trace("Non-Heap Mem: init/used/committed/max=" + nhm.getInit() / mb + "/" + nhm.getUsed() / mb + "/" + nhm.getCommitted() / mb + "/" + nhm.getMax() / mb); // logger.trace("finalizable: " + finalizable); //Getting the runtime reference from system Runtime runtime = Runtime.getRuntime(); logger.trace("Used/Free/Total/Max:" //Print used memory + (runtime.totalMemory() - runtime.freeMemory()) / mb + "/" //Print free memory + runtime.freeMemory() / mb + "/" //Print total available memory + runtime.totalMemory() / mb + "/" //Print Maximum available memory + runtime.maxMemory() / mb); }
From source file:de.unisb.cs.st.javalanche.mutation.runtime.jmx.MutationMxClient.java
public static boolean connect(int i) { JMXConnector jmxc = null;/*from w w w . j a va2s .com*/ JMXServiceURL url = null; try { url = new JMXServiceURL(MXBeanRegisterer.ADDRESS + i); jmxc = JMXConnectorFactory.connect(url, null); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { return false; // System.out.println("Could not connect to address: " + url); // e.printStackTrace(); } if (jmxc != null) { try { MBeanServerConnection mbsc = jmxc.getMBeanServerConnection(); ObjectName objectName = new ObjectName(MXBeanRegisterer.OBJECT_NAME); Object numberOfMutations = mbsc.getAttribute(objectName, "NumberOfMutations"); Object currentTest = mbsc.getAttribute(objectName, "CurrentTest"); Object currentMutation = mbsc.getAttribute(objectName, "CurrentMutation"); Object allMutations = mbsc.getAttribute(objectName, "Mutations"); Object mutationsDuration = mbsc.getAttribute(objectName, "MutationDuration"); Object testDuration = mbsc.getAttribute(objectName, "TestDuration"); // Object mutationSummary = mbsc.getAttribute(objectName, // "MutationSummary"); final RuntimeMXBean remoteRuntime = ManagementFactory.newPlatformMXBeanProxy(mbsc, ManagementFactory.RUNTIME_MXBEAN_NAME, RuntimeMXBean.class); final MemoryMXBean remoteMemory = ManagementFactory.newPlatformMXBeanProxy(mbsc, ManagementFactory.MEMORY_MXBEAN_NAME, MemoryMXBean.class); System.out.print("Connection: " + i + " "); System.out.println("Target VM: " + remoteRuntime.getName() + " - " + remoteRuntime.getVmVendor() + " - " + remoteRuntime.getSpecVersion() + " - " + remoteRuntime.getVmVersion()); System.out.println( "Running for: " + DurationFormatUtils.formatDurationHMS(remoteRuntime.getUptime())); System.out .println("Memory usage: Heap - " + formatMemory(remoteMemory.getHeapMemoryUsage().getUsed()) + " Non Heap - " + formatMemory(remoteMemory.getNonHeapMemoryUsage().getUsed())); String mutationDurationFormatted = DurationFormatUtils .formatDurationHMS(Long.parseLong(mutationsDuration.toString())); String testDurationFormatted = DurationFormatUtils .formatDurationHMS(Long.parseLong(testDuration.toString())); if (DEBUG_ADD) { System.out.println("Classpath: " + remoteRuntime.getClassPath()); System.out.println("Args: " + remoteRuntime.getInputArguments()); System.out.println("All Mutations: " + allMutations); } // System.out.println(mutationSummary); System.out.println( "Current mutation (Running for: " + mutationDurationFormatted + "): " + currentMutation); System.out.println("Mutations tested: " + numberOfMutations); System.out.println("Current test: (Running for: " + testDurationFormatted + "): " + currentTest); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (MalformedObjectNameException e) { e.printStackTrace(); } catch (NullPointerException e) { e.printStackTrace(); } catch (AttributeNotFoundException e) { e.printStackTrace(); } catch (InstanceNotFoundException e) { e.printStackTrace(); } catch (MBeanException e) { e.printStackTrace(); } catch (ReflectionException e) { e.printStackTrace(); } finally { try { jmxc.close(); } catch (IOException e) { e.printStackTrace(); } } } return true; }
From source file:it.geosolutions.geobatch.ui.mvc.MemoryController.java
@Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mav = new ModelAndView("memory"); // jsp final MemoryMXBean mmxbean = ManagementFactory.getMemoryMXBean(); mav.addObject("objectPendingFinalizationCount", mmxbean.getObjectPendingFinalizationCount()); mav.addObject("nonHeapMemoryUsage", mmxbean.getNonHeapMemoryUsage()); mav.addObject("heapMemoryUsage", mmxbean.getHeapMemoryUsage()); mav.addObject("memoryPoolBeansList", ManagementFactory.getMemoryPoolMXBeans()); return mav;// ww w . j a v a2s .c om }
From source file:it.damore.tomee.envmonitor.services.EnvMonitorService.java
@GET @Path("monitor") @Produces({ MediaType.APPLICATION_JSON }) public EnvironmentConfig getEnvConfig() throws IllegalAccessException, InvocationTargetException { logger.info("received a request..."); int mb = 1024 * 1024; //Getting the runtime reference from system Runtime runtime = Runtime.getRuntime(); EnvironmentConfig b = new EnvironmentConfig(); b.setMaxMemory(runtime.maxMemory() / mb); b.setFreeMemory(runtime.freeMemory() / mb); b.setTotalMemory(runtime.totalMemory() / mb); b.setSystemProperties(System.getProperties()); RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean(); LocalRuntimeMXBean myRuntimeMXBean = new LocalRuntimeMXBean(); BeanUtils.copyProperties(myRuntimeMXBean, runtimeMXBean); b.setRuntimeMXBean(myRuntimeMXBean); MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean(); LocalMemoryMXBean myMemoryMXBean = new LocalMemoryMXBean(); myMemoryMXBean.setHeapMemoryUsage(memoryMXBean.getHeapMemoryUsage()); myMemoryMXBean.setNonHeapMemoryUsage(memoryMXBean.getNonHeapMemoryUsage()); myMemoryMXBean.setObjectPendingFinalizationCount(memoryMXBean.getObjectPendingFinalizationCount()); b.setMemoryMXBean(myMemoryMXBean);/*from www.j a v a2 s . c om*/ OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean(); LocalOperatingSystemMXBean myOperatingSystemMXBean = new LocalOperatingSystemMXBean(); BeanUtils.copyProperties(myOperatingSystemMXBean, operatingSystemMXBean); b.setOperatingSystemMXBean(myOperatingSystemMXBean); return b; }
From source file:com.thoughtworks.go.server.service.support.ServerRuntimeInformationProvider.java
private void memoryInfo(MemoryMXBean memoryMXBean, InformationStringBuilder builder) { builder.addSection("Memory information"); builder.append(String.format("Heap:\n%s\nNon-Heap:\n%s\nPending Finalization: %s\n", format(memoryMXBean.getHeapMemoryUsage()), format(memoryMXBean.getNonHeapMemoryUsage()), memoryMXBean.getObjectPendingFinalizationCount())); }
From source file:com.evolveum.midpoint.gui.api.util.WebComponentUtil.java
public static double getMaxRam() { int MB = 1024 * 1024; MemoryMXBean mBean = ManagementFactory.getMemoryMXBean(); long maxHeap = mBean.getHeapMemoryUsage().getMax(); long maxNonHeap = mBean.getNonHeapMemoryUsage().getMax(); return (maxHeap + maxNonHeap) / MB; }
From source file:com.evolveum.midpoint.gui.api.util.WebComponentUtil.java
public static double getRamUsage() { int MB = 1024 * 1024; MemoryMXBean mBean = ManagementFactory.getMemoryMXBean(); long usedHead = mBean.getHeapMemoryUsage().getUsed(); long usedNonHeap = mBean.getNonHeapMemoryUsage().getUsed(); return (usedHead + usedNonHeap) / MB; }
From source file:edu.usu.sdl.openstorefront.web.rest.service.Application.java
@GET @RequireAdmin// w w w.j a v a 2 s.c om @APIDescription("Gets the application system status") @Produces({ MediaType.APPLICATION_JSON }) @DataType(ApplicationStatus.class) @Path("/status") public Response getApplicationStatus() { OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean(); RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean(); List<GarbageCollectorMXBean> garbageCollectorMXBeans = ManagementFactory.getGarbageCollectorMXBeans(); MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean(); List<MemoryPoolMXBean> memoryPoolMXBeans = ManagementFactory.getMemoryPoolMXBeans(); ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean(); ApplicationStatus applicationStatus = new ApplicationStatus(); applicationStatus.setApplicationVersion(PropertiesManager.getApplicationVersion()); applicationStatus.setProcessorCount(operatingSystemMXBean.getAvailableProcessors()); applicationStatus.setSystemLoad(operatingSystemMXBean.getSystemLoadAverage()); applicationStatus.setSystemProperties(runtimeMXBean.getSystemProperties()); applicationStatus.getHeapMemoryStatus().setName("Heap"); applicationStatus.getHeapMemoryStatus().setDetails(memoryMXBean.getHeapMemoryUsage().toString()); applicationStatus.getHeapMemoryStatus() .setInitKb(memoryMXBean.getHeapMemoryUsage().getInit() != 0 ? memoryMXBean.getHeapMemoryUsage().getInit() / 1024 : 0); applicationStatus.getHeapMemoryStatus() .setUsedKb(memoryMXBean.getHeapMemoryUsage().getUsed() != 0 ? memoryMXBean.getHeapMemoryUsage().getUsed() / 1024 : 0); applicationStatus.getHeapMemoryStatus() .setMaxKb(memoryMXBean.getHeapMemoryUsage().getMax() != 0 ? memoryMXBean.getHeapMemoryUsage().getMax() / 1024 : 0); applicationStatus.getHeapMemoryStatus() .setCommitedKb(memoryMXBean.getHeapMemoryUsage().getCommitted() != 0 ? memoryMXBean.getHeapMemoryUsage().getCommitted() / 1024 : 0); applicationStatus.getNonHeapMemoryStatus().setName("Non-Heap"); applicationStatus.getNonHeapMemoryStatus().setDetails(memoryMXBean.getNonHeapMemoryUsage().toString()); applicationStatus.getNonHeapMemoryStatus() .setInitKb(memoryMXBean.getNonHeapMemoryUsage().getInit() != 0 ? memoryMXBean.getNonHeapMemoryUsage().getInit() / 1024 : 0); applicationStatus.getNonHeapMemoryStatus() .setUsedKb(memoryMXBean.getNonHeapMemoryUsage().getUsed() != 0 ? memoryMXBean.getNonHeapMemoryUsage().getUsed() / 1024 : 0); applicationStatus.getNonHeapMemoryStatus() .setMaxKb(memoryMXBean.getNonHeapMemoryUsage().getMax() != 0 ? memoryMXBean.getNonHeapMemoryUsage().getMax() / 1024 : 0); applicationStatus.getNonHeapMemoryStatus() .setCommitedKb(memoryMXBean.getNonHeapMemoryUsage().getCommitted() != 0 ? memoryMXBean.getNonHeapMemoryUsage().getCommitted() / 1024 : 0); applicationStatus.setLiveThreadCount(threadMXBean.getThreadCount()); applicationStatus.setTotalThreadCount(threadMXBean.getTotalStartedThreadCount()); applicationStatus.setStartTime(new Date(runtimeMXBean.getStartTime())); applicationStatus.setUpTime(TimeUtil.millisToString(runtimeMXBean.getUptime())); for (GarbageCollectorMXBean garbageCollectorMXBean : garbageCollectorMXBeans) { applicationStatus.getGarbageCollectionInfos() .add(TimeUtil.millisToString(garbageCollectorMXBean.getCollectionTime()) + " - (" + garbageCollectorMXBean.getCollectionCount() + ")"); } for (MemoryPoolMXBean memoryPoolMXBean : memoryPoolMXBeans) { MemoryPoolStatus memoryPoolStatus = new MemoryPoolStatus(); memoryPoolStatus.setName(memoryPoolMXBean.getName() + " - " + memoryPoolMXBean.getType()); memoryPoolStatus.setDetails(memoryPoolMXBean.getUsage().toString()); memoryPoolStatus.setInitKb( memoryPoolMXBean.getUsage().getInit() != 0 ? memoryPoolMXBean.getUsage().getInit() / 1024 : 0); memoryPoolStatus.setUsedKb( memoryPoolMXBean.getUsage().getUsed() != 0 ? memoryPoolMXBean.getUsage().getUsed() / 1024 : 0); memoryPoolStatus.setMaxKb( memoryPoolMXBean.getUsage().getMax() != 0 ? memoryPoolMXBean.getUsage().getMax() / 1024 : 0); memoryPoolStatus.setCommitedKb(memoryPoolMXBean.getUsage().getCommitted() != 0 ? memoryPoolMXBean.getUsage().getCommitted() / 1024 : 0); applicationStatus.getMemoryPools().add(memoryPoolStatus); } return sendSingleEntityResponse(applicationStatus); }
From source file:org.apache.flink.runtime.metrics.util.MetricUtils.java
private static void instantiateMemoryMetrics(MetricGroup metrics) { final MemoryMXBean mxBean = ManagementFactory.getMemoryMXBean(); MetricGroup heap = metrics.addGroup("Heap"); heap.gauge("Used", new Gauge<Long>() { @Override/*from www . j av a 2s .com*/ public Long getValue() { return mxBean.getHeapMemoryUsage().getUsed(); } }); heap.gauge("Committed", new Gauge<Long>() { @Override public Long getValue() { return mxBean.getHeapMemoryUsage().getCommitted(); } }); heap.gauge("Max", new Gauge<Long>() { @Override public Long getValue() { return mxBean.getHeapMemoryUsage().getMax(); } }); MetricGroup nonHeap = metrics.addGroup("NonHeap"); nonHeap.gauge("Used", new Gauge<Long>() { @Override public Long getValue() { return mxBean.getNonHeapMemoryUsage().getUsed(); } }); nonHeap.gauge("Committed", new Gauge<Long>() { @Override public Long getValue() { return mxBean.getNonHeapMemoryUsage().getCommitted(); } }); nonHeap.gauge("Max", new Gauge<Long>() { @Override public Long getValue() { return mxBean.getNonHeapMemoryUsage().getMax(); } }); List<BufferPoolMXBean> bufferMxBeans = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class); for (final BufferPoolMXBean bufferMxBean : bufferMxBeans) { MetricGroup bufferGroup = metrics.addGroup(WordUtils.capitalize(bufferMxBean.getName())); bufferGroup.gauge("Count", new Gauge<Long>() { @Override public Long getValue() { return bufferMxBean.getCount(); } }); bufferGroup.gauge("MemoryUsed", new Gauge<Long>() { @Override public Long getValue() { return bufferMxBean.getMemoryUsed(); } }); bufferGroup.gauge("TotalCapacity", new Gauge<Long>() { @Override public Long getValue() { return bufferMxBean.getTotalCapacity(); } }); } }
From source file:org.apache.flink.runtime.taskmanager.TaskManager.java
private String getMemoryUsageStatsAsString(MemoryMXBean memoryMXBean) { MemoryUsage heap = memoryMXBean.getHeapMemoryUsage(); MemoryUsage nonHeap = memoryMXBean.getNonHeapMemoryUsage(); int mb = 20;/* ww w.j ava 2 s. com*/ long heapUsed = heap.getUsed() >> mb; long heapCommitted = heap.getCommitted() >> mb; long heapMax = heap.getMax() >> mb; long nonHeapUsed = nonHeap.getUsed() >> mb; long nonHeapCommitted = nonHeap.getCommitted() >> mb; long nonHeapMax = nonHeap.getMax() >> mb; String msg = String.format( "Memory usage stats: [HEAP: %d/%d/%d MB, NON HEAP: %d/%d/%d MB (used/comitted/max)]", heapUsed, heapCommitted, heapMax, nonHeapUsed, nonHeapCommitted, nonHeapMax); return msg; }