Skip to content

M10 · Bab 6± 50 menitDraf AI

Memori JVM, GC, dan Profiling

Tujuan belajar

  • Menjelaskan area memori JVM — heap, stack, metaspace — dan apa yang disimpan di masing-masing
  • Memilih garbage collector (G1 vs ZGC generasional) dan mengatur ukuran heap di container dengan -XX:MaxRAMPercentage
  • Mendiagnosis OutOfMemoryError dengan heap dump dan GC log
  • Memakai jcmd, thread dump, dan Java Flight Recorder untuk menemukan penyebab aplikasi lambat

Prasyarat: Caching dengan Redis

Kuis

5 soal · lulus bila minimal 70% benar

1.Program yang terus menambah objek ke static Map dijalankan dengan -Xmx64m. Apa yang akhirnya terjadi?
2.Thread dump menunjukkan banyak thread checkout-* berstatus BLOCKED (on object monitor) dengan baris - waiting to lock <0x...> yang sama. Apa kesimpulan paling tepat?
3.Aplikasi dengan -Xmx4g di-deploy ke container yang memory limit-nya 2 GiB, lalu container berulang kali dimatikan (OOMKilled) tanpa OutOfMemoryError di log. Perbaikan yang paling tepat?
4.Apa fungsi perintah jcmd 12345 JFR.start duration=60s filename=app.jfr?
5.GC log menunjukkan heap setelah setiap GC terus naik — 120M, 180M, 260M, 340M — walaupun traffic stabil. Hipotesis pertama yang paling masuk akal?

Jawab semua soal dulu (0/5)