Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách kiểm tra bộ nhớ được sử dụng bởi chương trình Java?

Đối với mã Java chạy lâu, sử dụng nhiều bộ nhớ động, có thể gặp lỗi Out-Of-Memory do thiếu không gian heap.

Chương trình dưới đây kiểm tra không gian heap Java miễn phí. Nếu heap dùng hơn 90%, garbage collector được gọi tường minh. System.gc() chặn luồng gọi cho đến khi GC hoàn tất, nên code này nên chạy trong thread riêng.

Ví dụ

public class GCTest { 
    public void runGC() { 
        Runtime runtime = Runtime.getRuntime(); 
        long memoryMax = runtime.maxMemory(); 
        long memoryUsed = runtime.totalMemory() - runtime.freeMemory(); 
        double memoryUsedPercent = (memoryUsed * 100.0) / memoryMax; 
        System.out.println("memoryUsedPercent: " + memoryUsedPercent); 
        if (memoryUsedPercent > 90.0) 
            System.gc(); 
    } 
    
    public static void main(String args[]) { 
        GCTest test = new GCTest(); 
        test.runGC(); 
    } 
}

Kết quả

memoryUsedPercent: 0.07187129404943532