Как получить память, используемую программой Java?Процент используемой кучи?

Чтобы получить память, используемую программой Java, и процент используемой кучи, мы можем реализовать это с помощью классов Java ManagementFactory и MemoryMXBean. Вот несколько подробных шагов:

1. Импортируйте необходимые классы:

В код Java сначала необходимо импортировать некоторые необходимые классы, чтобы иметь доступ к функциям управления памятью и мониторинга.

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

2. Получите экземпляр MemoryMXBean:

MemoryMXBean предоставляет методы и информацию для мониторинга использования памяти. Экземпляр MemoryMXBean можно получить с помощью следующего кода:

MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean();

3. Получите использование кучи памяти:

Используйте MemoryMXBean, чтобы получить информацию об использовании кучи. Память кучи разделена на две части: HeapMemoryUsage и NonHeapMemoryUsage. Здесь мы сосредоточимся на «HeapMemoryUsage», который содержит информацию об использовании кучи.

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

В приведенном выше коде UsedHeapMemory указывает объем используемой памяти кучи, maxHeapMemory указывает максимальную емкость кучи, а heapMemoryUsagePercentage вычисляет процент использования памяти кучи.

4. Распечатайте результат:

Вы можете распечатать полученную информацию, чтобы просмотреть использование памяти и процент использования кучи 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 + "%");

Полный пример кода выглядит следующим образом:

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 + "%");
    }
}

Запустив приведенный выше код, мы получим объем памяти кучи, используемый программой Java, максимальную емкость кучи и процент использования памяти кучи. Обратите внимание, что здесь отслеживается только куча памяти, а другие типы памяти (например, память без кучи) также могут отслеживаться аналогичным образом.

おすすめ

転載: blog.csdn.net/cz_00001/article/details/132432188