Jawa ingatanDapatkan data penggunaan Runtime.getRuntime().totalMemory, freeMemory
Jawa Fungsi ini mengembalikan informasi tentang memori mesin virtual, termasuk "Total," "Terpakai," dan "Maksimum Tersedia."
Penjelasan untuk setiap item adalah sebagai berikut:
- total・・・Waktu proses.getRuntime().totalMemory()Ini adalah jumlah memori yang dialokasikan untuk Java Virtual Machine.
- Jumlah penggunaan・・・Waktu proses.getRuntime().totalMemory() - Waktu proses.getRuntime().freeMemory()Lalu terjadilah,
Ini adalah penggunaan memori dari objek-objek yang saat ini dialokasikan ke memori. - Maksimum yang dapat digunakan・・・Waktu proses.getRuntime().maxMemory()Ini mewakili jumlah maksimum memori yang akan coba digunakan oleh Java Virtual Machine.
Jika penggunaan memori mendekati total dan pengumpulan sampah (garbage collection) tidak dapat membebaskan memori, Java Virtual Machine akan meluas ke kapasitas "maksimum yang tersedia".
Contoh program
/**
* Java 仮想マシンのメモリ総容量、使用量、
* 使用を試みる最大メモリ容量の情報を返します。
* @return Java 仮想マシンのメモリ情報
*/
public static String getMemoryInfo() {
DecimalFormat f1 = new DecimalFormat("#,###KB");
DecimalFormat f2 = new DecimalFormat("##.#");
long free = Runtime.getRuntime().freeMemory() / 1024;
long total = Runtime.getRuntime().totalMemory() / 1024;
long max = Runtime.getRuntime().maxMemory() / 1024;
long used = total - free;
double ratio = (used * 100 / (double)total);
String info =
"Java メモリ情報 : 合計=" + f1.format(total) + "、" +
"使用量=" + f1.format(used) + " (" + f2.format(ratio) + "%)、" +
"使用可能最大="+f1.format(max);
return info;
}
Hasil eksekusi 1
◆Contoh
public static void main(String[] args) { System.out.println(getMemoryInfo()); }
◆Hasil keluaran
Informasi memori Java: Total = 1.984KB, Terpakai = 458KB (23.1%), Maksimum yang tersedia = 65.088KB
Hasil eksekusi 2
◆Contoh
Cobalah mengubah ukuran heap Java dan jalankan programnya.
Ukuran heap Java dapat ditentukan menggunakan opsi perintah Java.
- Ukuran heap awal Xms
Menentukan alokasi memori awal untuk Java Virtual Machine. Nilai defaultnya adalah 2MB.
-Xmx Ukuran heap maksimum
Menentukan jumlah maksimum memori yang akan dialokasikan ke Java Virtual Machine. Nilai defaultnya adalah 64MB.
public static void main(String[] args) { System.out.println(getMemoryInfo()); }
◆Hasil keluaran
Informasi memori Java: Total = 65.088KB, Terpakai = 524KB (0,8%), Maksimum yang tersedia = 520.256KB
"Total Waktu Proses.getRuntime().totalMemory()"-XmsNilai maksimum yang tersedia adalah Runtime.getRuntime().maxMemory().-XmxIni mengarah ke [halaman yang relevan].
