JFR ve jcmd
- Java kursu
- Uzman
- Ders 32/46
- 5 dk
Java Flight Recorder ve jcmd ile profil çıkarmayı öğrenirsin.
JFR ile profil çıkarma
JFR (Java Flight Recorder), çalışan uygulamadan düşük ek yüklerle olay kaydı toplar. Yöntem örneklemesi, bellek ayırma, çöp toplama ve kilit çekişmesi gibi olaylar kaydedilir. Üretimde sürekli çalışabilir.
Kayıt jcmd PID JFR.start duration=60s filename=rec.jfr ile başlatılır. Çıkan .jfr dosyası jfr print komutuyla ya da JDK Mission Control ile incelenir.
jcmd aracı
jcmd, çalışan JVM'e komut gönderen çok yönlü bir araçtır. JFR kaydının yanı sıra heap dump, thread dump, GC kontrolü ve tanılama komutlarını destekler. jcmd PID help ile kullanılabilir komutlar listelenir.
JFR kaydı bittikten sonra jcmd PID JFR.dump filename=rec.jfr ile döküm alınır. Üretimde sorun analizi için JFR ilk başvurulacak araçtır.
Uygulama JfrRecorder sınıfını yaz
class JfrRecorder tanımla; static String start(int pid, int seconds) metodu "jcmd " + pid + " JFR.start duration=" + seconds + "s" döndürsün. main içinde System.out.println(start(1234, 60)); yazdır.
Başlangıç kodu
// JfrRecorder sınıfını tanımla: start metodu jcmd komutu üretsin
// main: 1234 PID ve 60 saniye için komutu yazdırÖrnek çözüm
class JfrRecorder {
static String start(int pid, int seconds) {
return "jcmd " + pid + " JFR.start duration=" + seconds + "s";
}
public static void main(String[] args) {
System.out.println(start(1234, 60));
}
}Beklenen çıktı
jcmd 1234 JFR.start duration=60s
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 JFR başlatma komutunu tamamla
jcmd ____ duration=60s filename=rec.jfr
jcmd JFR.start duration=60s filename=rec.jfr
Açıklama: jcmd JFR.start komutu kaydı başlatır.
2 JFR'nin belirgin avantajı nedir?
- Düşük ek yük Doğru cevap
- Sınıf derler
- Thread başlatır
- Dosya siler
Açıklama: JFR düşük ek yükle üretimde çalışabilir.
3 JFR araçlarını eşleştir
| Kavram | Anlamı |
|---|---|
JFR.start |
Kayıt başlatır |
jcmd |
Kontrol aracı |
JMC |
Analiz aracı |
duration |
Kayıt süresi |