Here you can find the source of usedMemory()
public static double usedMemory()
//package com.java2s; /*/*from www.j a va 2s . com*/ * Copyright 2007-2010 the original author or authors. * * 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. */ public class Main { /** * Returns used memory in MB */ public static double usedMemory() { Runtime runtime = Runtime.getRuntime(); return usedMemory(runtime); } static double usedMemory(Runtime runtime) { long totalMemory = runtime.totalMemory(); long freeMemory = runtime.freeMemory(); double usedMemory = (double) (totalMemory - freeMemory) / (double) (1024 * 1024); return usedMemory; } public static void freeMemory() { System.gc(); System.runFinalization(); } }