¿Cómo obtener la memoria utilizada por el programa Java?¿El porcentaje del montón utilizado?

Para obtener la memoria utilizada por el programa Java y el porcentaje del montón utilizado, podemos implementarlo a través de las clases ManagementFactory y MemoryMXBean de Java. Aquí hay algunos pasos detallados:

1. Importe las clases necesarias:

En el código Java, primero debe importar algunas clases necesarias para poder acceder a las funciones relacionadas con la administración y el monitoreo de la memoria.

import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
import java.lang.management.MemoryUsage;

2. Obtenga la instancia de MemoryMXBean:

MemoryMXBean proporciona métodos e información para monitorear el uso de la memoria. Se puede obtener una instancia de MemoryMXBean mediante el siguiente código:

MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean();

3. Obtenga el uso de memoria del montón:

Utilice MemoryMXBean para obtener el uso de la memoria del montón. La memoria del montón se divide en dos partes, "HeapMemoryUsage" y "NonHeapMemoryUsage". Aquí nos centramos en "HeapMemoryUsage", que contiene el uso del montón.

MemoryUsage heapMemoryUsage = memoryMXBean.getHeapMemoryUsage();
long usedHeapMemory = heapMemoryUsage.getUsed();
long maxHeapMemory = heapMemoryUsage.getMax();
double heapMemoryUsagePercentage = ((double) usedHeapMemory / maxHeapMemory) * 100.0;

En el código anterior, usedHeapMemory indica la cantidad de memoria del montón utilizada, maxHeapMemory indica la capacidad máxima del montón y heapMemoryUsagePercentage calcula el porcentaje de uso de la memoria del montón.

4. Imprima el resultado:

Puede imprimir la información obtenida para ver el uso de memoria y el porcentaje de uso del montón del programa Java.

System.out.println("Used Heap Memory: " + usedHeapMemory + " bytes");
System.out.println("Max Heap Memory: " + maxHeapMemory + " bytes");
System.out.println("Heap Memory Usage Percentage: " + heapMemoryUsagePercentage + "%");

Un ejemplo de código completo es el siguiente:

import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
import java.lang.management.MemoryUsage;

public class MemoryUsageExample {
    
    
    public static void main(String[] args) {
    
    
        MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean();
        MemoryUsage heapMemoryUsage = memoryMXBean.getHeapMemoryUsage();

        long usedHeapMemory = heapMemoryUsage.getUsed();
        long maxHeapMemory = heapMemoryUsage.getMax();
        double heapMemoryUsagePercentage = ((double) usedHeapMemory / maxHeapMemory) * 100.0;

        System.out.println("Used Heap Memory: " + usedHeapMemory + " bytes");
        System.out.println("Max Heap Memory: " + maxHeapMemory + " bytes");
        System.out.println("Heap Memory Usage Percentage: " + heapMemoryUsagePercentage + "%");
    }
}

Al ejecutar el código anterior, obtendremos la cantidad de memoria del montón utilizada por el programa Java, la capacidad máxima del montón y el porcentaje de uso de la memoria del montón. Tenga en cuenta que aquí solo se monitorea la memoria del montón, y otros tipos de memoria (como la memoria que no es del montón) también se pueden monitorear de manera similar.

Supongo que te gusta

Origin blog.csdn.net/cz_00001/article/details/132432188
Recomendado
Clasificación