Pertama, mari kita lihat situasi umum JVM, termasuk: Tumpukan penggunaan memori, kelas yang dimuat, jumlah utas, dan informasi lainnya. Seperti yang ditunjukkan pada gambar di bawah ini:
Kemudian lihat penggunaan ingatan JVM yang terlihat melalui JConsole. JVM terutama mengelola dua jenis memori: tumpukan dan non-heap. Sederhananya, tumpukan adalah memori yang dapat diakses oleh kode Java, yang disediakan untuk pengembang; Non-Heap dicadangkan untuk JVM untuk dirinya sendiri. Semua bidang metode, memori yang diperlukan untuk pemrosesan internal atau optimalisasi JVM (seperti cache kode yang dikompilasi JIT), setiap struktur kelas (seperti kumpulan konstan runtime, bidang dan data metode), dan kode metode dan konstruktor berada dalam memori non-heap. Di JConsole kita melihat status memori dari setiap bagian seperti yang ditunjukkan pada grafik batang hijau di bawah ini. Di JConsole, heap memori JVM dibagi menjadi: Eden Space Memory Pool, Survivor Space Memory Pool, Pool Memori Gen Tenured, dan memori non-HEAP dibagi menjadi: kumpulan memori cache kode, dan kumpulan memori Perm Gen. Seperti yang ditunjukkan pada gambar di bawah ini:
Akhirnya, mari kita gunakan JConsole untuk memeriksa pengaturan parameter JVM, seperti yang ditunjukkan pada gambar di bawah ini:
Parameter JVM di atas adalah sebagai berikut:
-Xms ruang tumpukan minimum
-Xmx ruang tumpukan maksimum
-Xmn ruang generasi baru
-Xss Space Stack Thread
-Xx: Permsize = XXX Ruang Generasi Permanen
-Xx: maxpermsize = xxx ruang generasi permanen maksimum