JVisualVM'de örnekleme ve profil oluşturma arasındaki fark


158

VisualVM, örnekleme ve profil oluşturma için iki ayrı sekmeye sahiptir. VisualVM'de örnekleme ve profil oluşturma arasındaki fark nedir?

Yanıtlar:


182

Samplingçok sayıda iplik dökümü almak ve yığın izlerini analiz etmek anlamına gelir. Bu genellikle daha hızlıdır, bayt kodunuzda çalışma zamanı değişiklikleri gerektirmez (bu da bozabilir), ancak daha az doğrudur.

Profilingaraçlar instrumenting sizin sınıfları ve yöntemleri, bu yüzden çalıştırılır zaman onlar "raporu". Bu, sadece dökümü yapıldığında yakalananları değil, enstrümanlı yöntemin her çağrışımını saydığı için daha doğrudur. Ancak enstrümantasyon, sınıflarınızın bayt kodunun değiştiği anlamına gelir ve bu programınızı bozabilir. Aslında, bu nedenle, büyük uygulama sunucularında (JBoss veya WebLogic gibi) profil oluşturma kullanmak genellikle her şeyin ölmesine veya askıda kalmasına neden olur.


2
Profil oluşturmanın örneklemeden daha doğru olduğu anlamına mı gelir, ancak daha fazla kaynak gerektirir mi?
Parag

10
Örneklemenin, kötü performans yöntemlerini saptamak için her kullandığımda yeterince doğru olduğunu gördüm. Şahsen profillemeyi asla kullanmam.
Marquez
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.