Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để kiểm tra bộ nhớ được sử dụng bởi một chương trình trong Java?


lâu dài mã java, sử dụng nhiều bộ nhớ động, chúng tôi có thể gặp Lỗi hết bộ nhớ do thiếu bộ nhớ của không gian heap.

Trong chương trình dưới đây, chúng ta có thể kiểm tra không gian heap java miễn phí được sử dụng bởi một chương trình. Nếu không gian heap được sử dụng hơn 90 phần trăm , thì trình thu gom rác được gọi một cách rõ ràng. System.gc () cuộc gọi đang chặn chuỗi cuộc gọi cho đến khi bộ thu gom rác đã hoàn thành. Do đó, mã này có thể được thực thi trong một chuỗi riêng biệt.

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();
   }
}

Đầu ra

memoryUsedPercent: 0.07187129404943532