Rumah  >  Artikel  >  Java  >  Bagaimana untuk menggunakan arahan jmap dalam Java?

Bagaimana untuk menggunakan arahan jmap dalam Java?

WBOY
WBOYke hadapan
2023-04-20 22:52:061622semak imbas

Pengenalan kepada arahan jmap

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.

Parameter arahan jmap

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:

Bagaimana untuk menggunakan arahan jmap dalam Java?

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.

-heap

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:

Bagaimana untuk menggunakan arahan jmap dalam Java?

-histo[:live]

Memaparkan statistik objek dalam Java timbunan, Termasuk: bilangan objek, saiz memori yang diduduki (unit: bait) dan nama kelas yang layak sepenuhnya. Contohnya:

Bagaimana untuk menggunakan arahan jmap dalam Java?

Untuk mendapatkan saiz objek, bahagikan jumlah saiznya dengan bilangan jenis objek tersebut. Jika parameter live ditentukan, hanya objek aktif dikira. Contohnya:

Bagaimana untuk menggunakan arahan jmap dalam Java?

-clstats

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:

Bagaimana untuk menggunakan arahan jmap dalam Java?

-finalizerinfo

Memaparkan objek yang menunggu dalam F-Queue untuk thread Finalizer untuk melaksanakan kaedah finalize . Contohnya:

Bagaimana untuk menggunakan arahan jmap dalam Java?

-dump:[live,]format=b,file=

Janakan fail dump snapshot heap dump mesin maya Java. Arahan khusus adalah seperti berikut:

  • liveParameter 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:

Bagaimana untuk menggunakan arahan jmap dalam Java?

-F

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:

Bagaimana untuk menggunakan arahan jmap dalam Java?

-h dan -help

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam