List of usage examples for java.lang.management ManagementFactory getMemoryMXBean
public static MemoryMXBean getMemoryMXBean()
From source file:org.mifos.framework.ApplicationInitializer.java
private void printMemoryPool() { logger.info("Memory MXBean"); logger.info("Heap Memory Usage: " + ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()); logger.info("Non-Heap Memory Usage: " + ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage()); logger.info("-----Memory Pool MXBeans------"); Iterator<MemoryPoolMXBean> iter = ManagementFactory.getMemoryPoolMXBeans().iterator(); while (iter.hasNext()) { MemoryPoolMXBean item = iter.next(); logger.info("Name: " + item.getName()); logger.info("Type: " + item.getType()); logger.info("Usage: " + item.getUsage()); logger.info("Peak Usage: " + item.getPeakUsage()); logger.info("Collection Usage: " + item.getCollectionUsage()); logger.info("+++++++++++++++++++"); }/* w w w. jav a2s .c o m*/ }
From source file:org.pepstock.jem.node.StartUpSystem.java
/** * If NODES_MAP contain at least a node with status different from STARTING * will return otherwise checks if the cluster have enough nodes to support * the persisted queue in memory. If the nodes are not enough the cluster * will wait for new joining nodes./*from ww w.java 2 s. co m*/ * * @throws ConfigurationException */ private static void checkIfEnoughMembers() throws ConfigurationException { // by default the number of permits are 0 ISemaphore semaphore = Main.getHazelcast().getSemaphore(SEMAPHORE); // check if exists a node of the cluster with status different from // STARTING if so return. List<Status> statusList = new ArrayList<Status>(); statusList.add(Status.STARTING); List<NodeInfo> nodesInfo = NodeInfoUtility.getNodesInfoByStatus(statusList, true); if (!nodesInfo.isEmpty()) { return; } // times 2 because in memory there will be a replication copy long queueSize = calculateQueueSize() * 2; // calculate the number of nodes (exclude light member) Cluster cluster = Main.getHazelcast().getCluster(); int membersNumber = cluster.getMembers().size(); MemoryMXBean bean = ManagementFactory.getMemoryMXBean(); long freeMemoryForNode = bean.getHeapMemoryUsage().getMax() - bean.getHeapMemoryUsage().getUsed(); // we consider each has at this point the same max and used memory // or we could insert this information in nodeInfo ? long clusterFreMemory = freeMemoryForNode * membersNumber; // we consider clusterFreMemory enough if is grather than the queueSize // + 20% long neededMemory = queueSize + (queueSize / 10) * 2; if (clusterFreMemory > neededMemory) { semaphore.release(membersNumber - 1); return; } else { LogAppl.getInstance().emit(NodeMessage.JEMC086W, clusterFreMemory / 1000, neededMemory / 1000); try { semaphore.acquire(); } catch (Exception e) { throw new ConfigurationException(e); } } }
From source file:org.rhq.enterprise.agent.promptcmd.GCPromptCommand.java
private void setVerbosity(boolean verbose) { final MemoryMXBean memoryMxBean = ManagementFactory.getMemoryMXBean(); memoryMxBean.setVerbose(verbose);//from ww w . j ava2 s . com }
From source file:org.rhq.enterprise.agent.promptcmd.GCPromptCommand.java
private void freeMemory(PrintWriter out) { final MemoryMXBean memoryMxBean = ManagementFactory.getMemoryMXBean(); printGlobalMemoryUsage(out, memoryMxBean); // free up some global static caches Introspector.flushCaches();/*from www . j av a 2 s. c o m*/ LogFactory.releaseAll(); // invoke the garbage collector out.println(MSG.getMsg(AgentI18NResourceKeys.GC_INVOKE)); memoryMxBean.gc(); printGlobalMemoryUsage(out, memoryMxBean); return; }
From source file:org.rhq.enterprise.agent.promptcmd.GCPromptCommand.java
private void printCurrentMemoryUsage(PrintWriter out) { final MemoryMXBean memoryMxBean = ManagementFactory.getMemoryMXBean(); printGlobalMemoryUsage(out, memoryMxBean); List<MemoryPoolMXBean> poolMxBeans = ManagementFactory.getMemoryPoolMXBeans(); if (poolMxBeans != null) { for (MemoryPoolMXBean bean : poolMxBeans) { if (bean.isValid()) { String name = bean.getName(); MemoryType type = bean.getType(); MemoryUsage usage = bean.getUsage(); printMemoryUsage(out, name, type, usage); }// w w w. j a va 2 s. c om } } return; }
From source file:org.romaframework.core.config.RomaApplicationContext.java
private void logMemoryUsage() { MemoryMXBean memBean = ManagementFactory.getMemoryMXBean(); MemoryUsage heapMemory = memBean.getHeapMemoryUsage(); MemoryUsage nonHeapMemory = memBean.getNonHeapMemoryUsage(); NumberFormat nf = NumberFormat.getInstance(); log.info("--------------- MEMORY USAGE ---------------"); log.info("HEAP INIT MEMORY: " + nf.format(heapMemory.getInit()) + " bytes"); log.info("HEAP USED MEMORY: " + nf.format(heapMemory.getUsed()) + " bytes"); log.info("HEAP COMMITTED MEMORY: " + nf.format(heapMemory.getCommitted()) + " bytes"); log.info("HEAP MAX MEMORY: " + nf.format(heapMemory.getMax()) + " bytes"); log.info(" "); log.info("NON HEAP INIT MEMORY: " + nf.format(nonHeapMemory.getInit()) + " bytes"); log.info("NON HEAP USED MEMORY: " + nf.format(nonHeapMemory.getUsed()) + " bytes"); log.info("NON HEAP COMMITTED MEMORY: " + nf.format(nonHeapMemory.getCommitted()) + " bytes"); log.info("NON HEAP MAX MEMORY: " + nf.format(nonHeapMemory.getMax()) + " bytes"); log.info("--------------------------------------------"); }
From source file:org.talend.dq.analysis.AnalysisExecutor.java
protected boolean continueRun() { // MOD scorreia 2013-09-10 avoid checking for each analyzed row. Check only every 1000 rows checkContinueCount++;// ww w.j av a 2s. co m if (getMonitor() != null && getMonitor().isCanceled()) { keepRunning = false; return keepRunning; } if (getCheckContinueCount() % Evaluator.CHECK_EVERY_N_COUNT != 0) { return keepRunning; } if (!Platform.isRunning()) { // Reporting engine is working as library return true; } if (this.isLowMemory) { keepRunning = false; } else if (AnalysisThreadMemoryChangeNotifier.getInstance().isUsageThresholdExceeded()) { this.usedMemory = AnalysisThreadMemoryChangeNotifier .convertToMB(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getUsed()); this.isLowMemory = true; keepRunning = false; } return keepRunning; }
From source file:org.talend.dq.indicators.Evaluator.java
protected boolean continueRun() { // TOCHANGE msjian 2016-10-21 Use thread notification technology to stop the analysis // MOD scorreia 2013-09-10 avoid checking for each analyzed row. Check only every 1000 rows checkContinueCount++;/* ww w. j a v a2 s . c o m*/ if (checkContinueCount % CHECK_EVERY_N_COUNT != 0) { return keepRunning; } if (!Platform.isRunning()) { // Reporting engine is working as library return true; } if (getMonitor() != null && getMonitor().isCanceled()) { keepRunning = false; } else if (this.isLowMemory) { keepRunning = false; } else if (AnalysisThreadMemoryChangeNotifier.getInstance().isUsageThresholdExceeded()) { this.usedMemory = AnalysisThreadMemoryChangeNotifier .convertToMB(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getUsed()); this.isLowMemory = true; keepRunning = false; } return keepRunning; }
From source file:org.toobsframework.management.MemoryMonitor.java
private void init() { MemoryMXBean mem = ManagementFactory.getMemoryMXBean(); ((NotificationBroadcaster) mem).addNotificationListener(listener, null, null); for (MemoryPoolMXBean memPool : ManagementFactory.getMemoryPoolMXBeans()) { if (memPool.isUsageThresholdSupported()) { memPools.put(memPool.getName(), memPool); log.info("Putting Pool " + memPool.getName()); setUsageThreshold(memPool, 0.7); }//from w w w . j a va 2s .com } }
From source file:org.vaadin.viritin.FilterableListContainerTest.java
private long reportMemoryUsage() { try {// w w w . ja va 2 s .co m System.gc(); Thread.sleep(100); System.gc(); Thread.sleep(100); System.gc(); Thread.sleep(100); System.gc(); } catch (InterruptedException ex) { } MemoryUsage mu = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage(); System.out.println("Memory used (M):" + mu.getUsed() / 1000000); return ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getUsed(); }