Ide Intellij - Pembuatan Profil

Profiler memberikan wawasan tentang aplikasi Anda seperti CPU, memori, dan penggunaan heap-nya. Ini juga memberikan detail tentang utas aplikasi. Bab ini membahas penggunaan alat VisualVM untuk pembuatan profil aplikasi Java. Itu dapat membuat profil entitas seperti CPU dan heap.

Direkomendasikan agar pembaca tutorial ini terbiasa dengan konsep profiler aplikasi.

pengantar

VisualVM adalah alat visual yang mengintegrasikan alat JDK dan memberi Anda kemampuan pembuatan profil yang kuat. Ini memungkinkan Anda untuk membuat dan menganalisis data heap, melacak kebocoran memori, memantau pengumpul sampah, dan menjalankan profil memori dan CPU.

Manfaat

  • Antarmuka visual untuk aplikasi Java lokal dan jarak jauh yang berjalan di JVM.

  • Pemantauan penggunaan memori aplikasi dan perilaku runtime aplikasi.

  • Pemantauan utas aplikasi

  • Menganalisis alokasi memori ke aplikasi yang berbeda.

  • Thread dumps - sangat berguna jika terjadi kebuntuan dan kondisi balapan.

  • Heap dump - sangat berguna dalam menganalisis alokasi memori heap.

Konfigurasi

Di bagian ini, kita akan mempelajari langkah-langkah yang dilakukan untuk mengkonfigurasi VisualVM. Langkah-langkahnya adalah sebagai berikut -

  • Unduh dari sini .

  • Ekstrak file zip tersebut.

  • Arahkan ke file etc / visualvm.conf dan tambahkan baris berikut di file ini -

visualvm_jdkhome=<path of JDK>
  • Jika JDK Anda diinstal di file C:\Program Files\Java\jdk-9.0.1 direktori maka akan terlihat seperti ini -

visualvm_jdkhome="C:\Program Files\Java\jdk-9.0.1"

Aplikasi pemantauan

Sekarang mari kita lihat bagaimana memonitor aplikasi. Pertimbangkan langkah-langkah berikut untuk memahami hal yang sama -

  • Klik dua kali pada file visualvm.exe.
  • Pilih aplikasi dari panel kiri.
  • Pilih tab monitor.

Anda akan diarahkan ke jendela di mana Anda akan mendapatkan detail tentang CPU, Heap, Kelas, dan utas. Untuk lebih spesifik dengan penggunaan, arahkan mouse ke grafik mana pun. Kita bisa melihat penggunaan Heap pada gambar di atas.

Wawasan tentang Untaian

Aplikasi Java bisa berisi banyak thread eksekusi. Untuk mengetahui lebih banyak tentang utas, pilih tab utas dari aplikasi tertentu. Ini akan memberikan berbagai statistik tentang utas seperti jumlah utas langsung dan utas daemon. Status utas yang berbeda adalah Running, Sleeping, Waiting, Park, dan Monitor.

Aplikasi Sampling

VisualVM mendukung CPU, pengambilan sampel memori, dan deteksi kebocoran memori. Untuk aplikasi sampel, pilih aplikasi dan pilih tab sampel -

Pengambilan sampel CPU

Untuk pengambilan sampel CPU, klik tombol CPU seperti yang ditunjukkan pada gambar layar berikut -

Profil memori

Untuk profil memori, klik tombol Memori seperti yang ditunjukkan pada tangkapan layar berikut -

Kebocoran memori

Kebocoran memori terjadi saat aplikasi, saat berjalan, perlahan-lahan mengisi tumpukan dengan objek yang tidak dihapus secara otomatis oleh program.

Jika sebuah objek yang tidak digunakan oleh program tidak dihapus, maka itu tetap dalam memori dan GC tidak dapat mengambil kembali ruangnya. Jika jumlah byte dan jumlah instance dalam aplikasi Anda meningkat secara konstan dan signifikan dalam program Anda hingga menghabiskan semua ruang, ini bisa menjadi indikasi kebocoran memori.

Aplikasi profiling

Di bagian ini, kita akan belajar bagaimana membuat profil aplikasi. Untuk membuat profil aplikasi, pilih aplikasi dari panel kiri dan klik tab profil -

Pembuatan profil CPU

Untuk melakukan profil CPU, klik tombol CPU seperti yang ditunjukkan pada gambar di bawah -

Profil memori

Untuk melakukan profil CPU, klik tombol CPU seperti yang ditunjukkan pada gambar di bawah -