1. Apa itu JConsole
JConsole diperkenalkan sejak Java 5. JConsole adalah penganalisa kinerja Java built-in yang dapat dijalankan dari baris perintah atau dalam shell GUI. Anda dapat dengan mudah menggunakan JConsole (atau, VisualVM "Near Relative" yang lebih tinggi untuk memantau kinerja aplikasi Java dan melacak kode di Java.
2. Cara Memulai JConsole
1. Jika Anda mulai dari baris perintah, cukup jalankan JConsole di jalur.
2. Jika Anda mulai dari shell GUI, temukan jalur instalasi JDK, buka folder bin, dan klik dua kali JConsole.
Ketika alat analisis muncul (tergantung pada versi Java yang sedang berjalan dan jumlah program Java yang berjalan), kotak dialog mungkin tampak meminta untuk memasukkan URL proses untuk terhubung, atau dapat mendaftar banyak proses Java lokal yang berbeda (kadang -kadang termasuk proses JConsole itu sendiri) untuk terhubung. Seperti yang ditunjukkan pada gambar:
Jika Anda ingin menganalisis program itu, klik dua kali prosesnya.
3. Cara mengatur program Java untuk dihubungkan dan dianalisis oleh JConsolse saat dijalankan
1. Program Lokal (relatif terhadap komputer yang mengaktifkan JConsole), Anda dapat terhubung ke yang diaktifkan secara lokal tanpa mengatur parameter apa pun (Java SE 6 tidak perlu diatur di awal, dan Anda masih perlu mengatur parameter runtime sebelum - dcom.sun.management.jmxremote)
2. Tidak ada koneksi otentikasi (pengaturan berikut menunjukkan: port koneksi adalah 8999, dan dapat dihubungkan tanpa otentikasi)
-Dcom.sun.management.jmxremote.port = 8999 /-dcom.sun.management.jmxremote.authenticate=false /-dcom.sun.management.jmxremote.ssl=False
3. Jika faktor keamanan diperhitungkan, diperlukan otentikasi dan koneksi aman diperlukan, itu juga dapat dilakukan. Referensi: http://download.oracle.com/javase/6/docs/technotes/guides/management/agent.html#gdenv
4. Bagaimana JConsole Terhubung ke Program Java Mesin Jarak Jauh (contoh contoh)
1. Tulis program Java yang berjalan sederhana, jalankan pada mesin tertentu seperti (192.168.0.181)
Salinan kode adalah sebagai berikut:
Java -CP. -Dcom.sun.management.jmxremote.port = 8999 -dcom.sun.managent.jmxremote.authenticate = false -dcom.sun.management.jmxremote.ssl = false jconsoletest
2. Mesin lain terhubung
Anda dapat menggunakan perintah secara langsung:
Salinan kode adalah sebagai berikut:
jconsole.exe 192.168.0.181:8999
Anda juga dapat mengoperasikan koneksi di antarmuka JConsole yang sudah dibuka -> Buat koneksi baru -> Pilih proses jarak jauh -> masukkan IP host jarak jauh dan nomor port -> klik "koneksi", seperti yang ditunjukkan pada gambar:
Maka Anda akan memasuki antarmuka analisis:
Analisis Kinerja
Mari kita bicara tentang cara menganalisis dan cara menggunakan enam label ini
• Ikhtisar: Menampilkan informasi ikhtisar tentang Java VM dan nilai -nilai yang dipantau.
• Memori: Tampilkan informasi penggunaan memori
• Thread: Tampilkan informasi penggunaan utas
• Kelas: Tampilkan informasi pemuatan kelas
•*Ringkasan VM:*Tampilkan informasi Java VM
• Mbeans: Tunjukkan mbeans.
Maka Anda akan memasuki antarmuka analisis:
Ringkasan
Gambarannya sangat sederhana dan tidak ada yang bisa dikatakan. Mari kita lihat sendiri, tetapi perlu disebutkan bahwa klik kanan pada gambar dapat menyimpan data ke file CSV. Anda dapat menggunakan alat lain untuk menganalisis data ini di masa mendatang.
Ingatan
Ini lebih berharga, lihat status memori heap, memori non-heap, alokasi dan penggunaan memori memori memori secara keseluruhan, serta jumlah dan waktu pengumpulan sampah dengan GC yang berbeda. Anda dapat memeriksa perubahan memori secara manual oleh GC.
Ini sangat berguna ketika menganalisis masalah memori Java untuk penyetelan. Anda perlu mempelajari model memori JVM, dan kemudian Anda akan menemukan bahwa setiap nilai di sini memiliki makna.
Algoritma dan parameter GC memiliki dampak signifikan pada kinerja. Perhatikan jumlah waktu pengumpulan sampah, waktu, serta parsial GC dan GC penuh, sesuaikan berbagai GC yang Anda gunakan dan parameter di bawah setiap GC, dan kemudian amati dalam pandangan ini untuk mendapatkan kinerja yang baik.
Berikut adalah diagram Divisi Generasi Generasi GC generatif di bawah java hotspot vm pengumpul sampah:
Untuk GC, silakan merujuk ke: http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
Benang
Sudut kiri bawah menunjukkan semua utas aktif (jika ada terlalu banyak utas, Anda dapat memasukkan string di bilah filter di bawah ini untuk memfilter utas yang ingin Anda amati). Mengklik pada tampilan akan menampilkan nama, status, jumlah pemblokiran dan waktu tunggu, dan menumpuk informasi utas.
Bagan statistik menunjukkan jumlah puncak utas (merah) dan utas yang saat ini aktif (biru).
Selain itu, ada tombol di bawah yang "terdeteksi kebuntuan", yang terkadang berguna.
baik
Tidak ada yang bisa dikatakan.
Ringkasan VM
Tidak ada yang bisa dikatakan, mari kita lihat status memori, sistem operasi ...
Mbean
Ada beberapa operasi tambahan yang tersedia di sini.
Plugin
jconsole -pluginpath c: /java/jdk1.6.0_22/demo/management/jtop/jtop.jar
Anda dapat mengetahui dengan sekilas apa itu.
Disarankan untuk menggunakan versi JConsole yang ditingkatkan, mis. JVisualVM.
Mengenai penggunaan jvisualvm, -> //www.vevb.com/article/77131.htm
Referensi: