CARDÁPIO

Obtenha o uso de memória Java

índice

Java memóriaObter uso Runtime.getRuntime().totalMemory, freeMemory

Java Retorna informações "Total", "Usado" e "Máximo utilizável" para informações de memória da máquina virtual.
A explicação de cada item é a seguinte.

  • total...Runtime.getRuntime().totalMemory()Esta é a quantidade de memória alocada para a máquina virtual Java.
  • quantidade a usar...Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory()tornar-se,
    Uso de memória de objetos atualmente alocados na memória.
  • máximo utilizável...Tempo de execução.getRuntime().maxMemory()é a quantidade máxima de memória que a Java Virtual Machine tentará usar.
    Se a quantidade usada se aproximar do total e a memória livre não puder ser protegida mesmo com a coleta de lixo, a máquina virtual Java será expandida para a capacidade "máxima disponível".

programa de amostra

/** * Retorna informações sobre a memória total da máquina virtual Java, a quantidade usada e * a quantidade máxima de memória que ela tenta usar. * @return Informações de memória da máquina virtual Java */ public static String getMemoryInfo() { DecimalFormat f1 = new DecimalFormat("#,###KB"); DecimalFormat f2 = new DecimalFormat("##.#"); long free = Runtime.getRuntime ( ).freeMemory() / 1024; total longo = Runtime.getRuntime().totalMemory() / 1024; máximo longo = Runtime.getRuntime().maxMemory() / 1024; usado longo = total - livre; proporção dupla = (usado * 100 / (double)total); String info = "Informações de memória Java: Total = + f1.format(total) + ", " + "Usado = + f1.format(usado) + " (" + f2.format( proporção) + "%)," + "máximo disponível="+f1.format(max); return info; }


Resultado da execução 1

◆Exemplo de execução

public static void main(String[] args) { System.out.println(getMemoryInfo()); }

◆Resultado de saída

Informações de memória Java: total = 1.984 KB, uso = 458 KB (23.1%), máximo utilizável = 65.088 KB

Resultado de execução 2

◆Exemplo de execução
Tente alterar o tamanho do heap Java e execute.
O valor do tamanho de heap Java pode ser especificado como uma opção do comando Java.

java -Xms64m -Xmx512m Principal

-Xms tamanho de heap inicial
Especifica a alocação de memória inicial para a Java Virtual Machine. O padrão é 2 MB.
-Xmx tamanho máximo de heap
Especifica a alocação máxima de memória para a Java Virtual Machine. O padrão é 64 MB.

public static void main(String[] args) { System.out.println(getMemoryInfo()); }

◆Resultado de saída

Informações de memória Java: total = 65.088 KB, uso = 524 KB (0,8%), máximo utilizável = 520.256 KB

"Total Runtime.getRuntime().totalMemory()" é-Xms, "Runtime.getRuntime().maxMemory() máximo disponível" é-XmxEstá vinculado a.

  • URLをコピーしました!
índice