jmap (Java Virtual Machine Memory Map) ialah alat baris arahan yang disediakan oleh JDK yang boleh menjana fail dump snapshot heap dump mesin maya Java. Di samping itu, arahan jmap juga boleh melihat maklumat terperinci tentang baris gilir pelaksanaan memuktamadkan, timbunan Java dan kawasan kaedah, seperti penggunaan ruang, pengumpul sampah yang sedang digunakan, status penjanaan, dsb.
Seperti arahan jinfo, masih terdapat beberapa sekatan ke atas penggunaannya pada sistem Windows. Dalam sistem Windows tanpa dbgeng.dll
, Alat Nyahpepijat untuk Windows mesti dipasang agar perintah jinfo berfungsi dengan betul dan pembolehubah persekitaran PATH harus mengandungi lokasi jvm.dll.
Sintaks arahan:
jmap [options] pid
Penerangan parameter arahan:
option
: Parameter pilihan perintah jmap. Jika parameter ini tidak dinyatakan, arahan jinfo akan memaparkan maklumat imej memori proses mesin maya Java, seperti yang ditunjukkan di bawah:
pid
: Mesin maya Java maklumat konfigurasinya akan dicetak ID Proses.
Untuk mendapatkan senarai proses mesin maya Java yang sedang berjalan, anda boleh menggunakan arahan ps (dalam sistem Linux) atau arahan senarai tugas (dalam sistem Windows), jika proses mesin maya Java tidak berjalan dalam yang berasingan instance docker , anda boleh menggunakan arahan jps. Apakah parameter
option
? Jom kita tengok.
memaparkan maklumat berikut tentang timbunan Java:
Maklumat tentang algoritma kutipan sampah yang ditentukan, termasuk nama kutipan sampah algoritma dan sampah Butiran algoritma kitar semula.
Maklumat konfigurasi timbunan mungkin ditentukan oleh pilihan baris arahan, atau dipilih oleh mesin maya Java berdasarkan konfigurasi pelayan.
Timbunan maklumat penggunaan ruang memori, termasuk status generasi, jumlah kapasiti, memori terpakai dan ingatan tersedia bagi setiap generasi. Jika generasi dipecah bahagi lagi (contohnya, generasi muda), mengandungi maklumat penggunaan memori untuk ruang yang dipecah bahagi.
Contohnya:
Memaparkan statistik objek dalam Java timbunan, Termasuk: bilangan objek, saiz memori yang diduduki (unit: bait) dan nama kelas yang layak sepenuhnya. Contohnya:
Untuk mendapatkan saiz objek, bahagikan jumlah saiznya dengan bilangan jenis objek tersebut. Jika parameter live
ditentukan, hanya objek aktif dikira. Contohnya:
Memaparkan statistik pemuat kelas dalam metaspace dalam timbunan Java, termasuk:
class_loader : Apabila mesin maya Java berjalan, alamat objek pemuat kelas
kelas: bilangan kelas yang dimuatkan
bait: bilangan bait metadata semua kelas yang dimuatkan oleh pemuat kelas
pemuat_ibu bapa : induk Alamat objek pemuat kelas, jika tidak ditunjukkan null
.
hidup: Bendera yang menunjukkan sama ada objek pemuat kelas akan dikumpul sampah.
jenis: Nama kelas pemuat kelas.
Contohnya:
Memaparkan objek yang menunggu dalam F-Queue untuk thread Finalizer untuk melaksanakan kaedah finalize . Contohnya:
Janakan fail dump snapshot heap dump mesin maya Java. Arahan khusus adalah seperti berikut:
live
Parameter adalah pilihan Jika ditentukan, hanya objek aktif dalam timbunan akan dibuang; dibuang.
format=b
bermaksud membuang memori timbunan Java dalam format binari hprof.
file=<filename></filename>
digunakan untuk menentukan nama fail fail dump syot kilat.
Contohnya:
Mod paksa. Jika pid yang dinyatakan tidak bertindak balas, ia boleh digunakan bersama dengan -dump
atau -histo
. Dalam mod ini, parameter langsung tidak disokong. Contohnya:
paparkan maklumat bantuan arahan jinfo.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan arahan jmap dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!