Как установить максимальное использование памяти для JVM?

Объем памяти, которую может использовать программа Java, зависит от ее среды. Библиотека Java Standard предоставляет следующие методы в классе выполнения.

  1. totalMemory()
  2. freeMemory()
  3. maxMemory()

TotalMemory()

TotalMemory() возвращает общий объем памяти в JVM. Значение, возвращаемое этим методом, может меняться со временем, в зависимости от среды хоста.

 
  Runtime.getRuntime().totalMemory();

FreeMemory()

Функция freeMemory() возвращает количество свободной памяти в JVM. Вызов метода gc может привести к увеличению значения, возвращаемого функцией freeMemory.

 
  Runtime.getRuntime().freeMemory();

maxMemory()

MaxMemory() возвращает максимальный объем памяти, который JVM будет пытаться использовать. Если нет встроенного предела, тогда будет возвращено значение Long.MAX_VALUE.

 
  Runtime.getRuntime().maxMemory();

Каковы параметры Xms и Xmx?

Флаг -Xmx <память> указывает максимальный пул распределения памяти для виртуальной машины Java (JVM), а -Xms указывает пул инициализации памяти. Флаг памяти также может быть указан в нескольких размерах, например, килобайтах, мегабайтах и т. Д.

 
  -Xmx1024k
  -Xmx512m
  -Xmx8g

Синтаксис

 
  -Xmx

Пример

Запуск JVM, как показано ниже, запустит его с 256 МБ памяти и позволит процессу использовать до 2048 МБ памяти:

 
  Java -Xmx2048m -Xms256m

Следующая программа будет выводить параметры jvm и используемую, свободную, полную и максимальную память, доступные в jvm.

 
public class GetMemoryDeatils {
  public static void main(String args[]) {
    System.out.println("Used Memory   :  " + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) + " bytes");
    System.out.println("Free Memory   : " + Runtime.getRuntime().freeMemory() + " bytes");
    System.out.println("Total Memory  : " + Runtime.getRuntime().totalMemory() + " bytes");
    System.out.println("Max Memory    : " + Runtime.getRuntime().maxMemory() + " bytes");
  }
}

Источник: http://net-informations.com/Java/cJava/limit.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector