/* 
 * Copyright 2008-2010 the T2 Project ant the Others. 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */ 
//package org.t2framework.commons.util; 
 
import java.lang.management.ManagementFactory; 
import java.lang.management.MemoryMXBean; 
import java.lang.management.MemoryUsage; 
 
public class MemoryUtil { 
 
  public static long getTotalMemory() { 
    return getRuntime().totalMemory(); 
  } 
 
  public static long getFreeMemory() { 
    return getRuntime().freeMemory(); 
  } 
 
  public static long getMaxMemory() { 
    return getRuntime().maxMemory(); 
  } 
 
  public static long getHeapInitMemory() { 
    return getHeapMemoryUsage().getInit(); 
  } 
 
  public static long getHeapMaxMemory() { 
    return getHeapMemoryUsage().getMax(); 
  } 
 
  public static long getHeapUsedMemory() { 
    return getHeapMemoryUsage().getUsed(); 
  } 
 
  public static long getHeapCommittedMemory() { 
    return getHeapMemoryUsage().getCommitted(); 
  } 
 
  private static MemoryUsage getHeapMemoryUsage() { 
    return getMemoryMXBean().getHeapMemoryUsage(); 
  } 
 
  private static MemoryMXBean getMemoryMXBean() { 
    return ManagementFactory.getMemoryMXBean(); 
  } 
 
  private static Runtime getRuntime() { 
    return Runtime.getRuntime(); 
  } 
 
} 
 
    
     
     
     
     
  
  |