2016-04-01 14 views
1

Asp.net 4.6 web sitesinde yüksek GC kullanımının nedenini tespit etmeye çalışıyorum. Yığından çok fazla bellek ayırıyor gibi görünen büyük bir rutini izole ettim. Sorun, GC'nin rutinin sonunda (ya da hemen sonrasında) başladığı ve öbeği temizlediği. Rutin çalıştırmak için sadece 1-2 saniye sürer, bu nedenle "Heap snapshot" çekimi yeterince hızlı değildir.C# ve Visual Studio 2015'te bellek ayırmalarını görüntüleme?

Nihayetinde çöp toplanmasına rağmen bir şekilde günlükleri veya tahsisleri görüntülemek mümkün mü?

cevap

0

VS ile birlikte gelen performans sihirbazını deneyebilirsiniz. .NET Bellek Ayırma'yı izleme seçeneği vardır.

VS 2012'de aşağıdakilere gidersiniz: Analiz Et> Performans Sihirbazı (VS 2015 için ne olduğundan emin değilim, ancak benzerdir). Buna gitmek için bir açılır pencere açılır ve ardından ".NET Bellek Ayırma (örnekleme)" seçeneğini seçin. Bu sana ihtiyacın olanı verebilir. Aksi takdirde, yönetilen bellek ayırmayı izleyebilen RedGate gibi şirketlerden 3. taraf bellek profilleyicileri de vardır.

İlgili konular