THỰC ĐƠN

Nhận mức sử dụng bộ nhớ Java

mục lục

Java ký ứcNhận mức sử dụng Runtime.getRuntime().totalMemory, freeMemory

Java Trả về thông tin "Tổng cộng", "Đã sử dụng" và "Có thể sử dụng tối đa" cho thông tin bộ nhớ máy ảo.
Giải thích từng mục như sau.

  • tổng cộng...Runtime.getRuntime().totalMemory()Đây là dung lượng bộ nhớ được phân bổ cho máy ảo Java.
  • số tiền cần sử dụng...Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory()trở nên,
    Mức sử dụng bộ nhớ của các đối tượng hiện được phân bổ trong bộ nhớ.
  • tối đa có thể sử dụng...Runtime.getRuntime().maxMemory()là dung lượng bộ nhớ tối đa mà Máy ảo Java sẽ cố gắng sử dụng.
    Nếu dung lượng được sử dụng gần bằng tổng số và bộ nhớ trống không thể được bảo đảm ngay cả khi thu gom rác, máy ảo Java sẽ mở rộng đến dung lượng "tối đa khả dụng".

chương trình mẫu

/** * Trả về thông tin về tổng bộ nhớ của máy ảo Java, dung lượng đã sử dụng và * dung lượng bộ nhớ tối đa mà nó cố gắng sử dụng. * @return Thông tin bộ nhớ máy ảo Java */ public static String getMemoryInfo() { DecimalFormat f1 = new DecimalFormat("#,###KB"); DecimalFormat f2 = new DecimalFormat("##.#"); long free = Runtime.getRuntime ( ).freeMemory() / 1024; tổng dài = Runtime.getRuntime().totalMemory() / 1024; dài tối đa = Runtime.getRuntime().maxMemory() / 1024; sử dụng lâu = tổng - miễn phí; tỷ lệ gấp đôi = ( đã sử dụng * 100 / (double)total); Thông tin chuỗi = "Thông tin bộ nhớ Java: Tổng = + f1.format(total) + ", " + "Used = + f1.format(used) + " (" + f2.format( tỷ lệ) + "%)" + "có sẵn tối đa="+f1.format(max); thông tin trả về; }


Kết quả thực hiện 1

◆Ví dụ thực thi

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

◆Kết quả đầu ra

Thông tin bộ nhớ Java: tổng=1.984KB, mức sử dụng=458KB (23.1%), mức sử dụng tối đa=65.088KB

Kết quả thực hiện 2

◆Ví dụ thực thi
Hãy thử thay đổi kích thước vùng heap Java và chạy.
Giá trị của kích thước vùng heap Java có thể được chỉ định dưới dạng tùy chọn của lệnh Java.

java -Xms64m -Xmx512m Chính

-Xms kích thước heap ban đầu
Chỉ định phân bổ bộ nhớ ban đầu cho máy ảo Java. Mặc định là 2MB.
-Xmx kích thước heap tối đa
Chỉ định phân bổ bộ nhớ tối đa cho máy ảo Java. Mặc định là 64 MB.

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

◆Kết quả đầu ra

Thông tin bộ nhớ Java: tổng=65.088KB, mức sử dụng=524KB (0.8%), mức sử dụng tối đa=520.256KB

"Total Runtime.getRuntime().totalMemory()" là-Xms, "Runtime.getRuntime().maxMemory()" có sẵn tối đa-XmxNó được liên kết với.

  • URLをコピーしました!
mục lục