Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET Nesne Ayırma aracını kullanarak uygulamanızın ne kadar bellek kullandığını ve hangi kod yollarının en çok bellek ayırdığı görebilirsiniz.
Aracı çalıştırdıktan sonra, nesnelerin ayrıldığı işlev yürütme yollarını görebilirsiniz. Daha sonra en fazla belleği alan çağrı ağacının köküne kadar izleyebilirsiniz.
.NET Nesne Ayırma aracını kullanarak performansı geliştirmeyi gösteren bir öğretici için bkz. Örnek olay incelemesi: Kodiyileştirmeye yönelik başlangıç kılavuzu.
Kurulum
Visual Studio projesinde, çözüm yapılandırmasını Yayın olarak ayarlayın ve dağıtım hedefini seçin.
Dağıtım hedefi genellikle proje adıyla eşleşir ve yerel bir dağıtımı gösterir.
Visual Studio'da Performans Profili Oluşturucu'yu açmak için Alt+F2 seçin.
.NET Nesne Ayırma İzleme onay kutusunu seçin.
Aracı çalıştırmak için Başlat düğmesine basın.
Profil oluşturucuyu başlatmadan önce Koleksiyon duraklatılmış olarak başlat seçeneğini etkinleştirirseniz, tanılama oturumu görünümünde Kayıt düğmesini seçene kadar veri toplanmaz.
Araç çalışmaya başladıktan sonra uygulamanızda profil oluşturmanızı istediğiniz senaryoyu inceleyin. Ardından Toplamayı durdur seçin veya verilerinizi görmek için uygulamanızı kapatın.
Ayırma sekmesini seçin. Aşağıdakine benzer bellek ayırma verileri görüntülenir.
Artık nesnelerin bellek ayırmasını analiz edebilirsiniz.
Toplama sırasında izleme aracı profili oluşturulan uygulamayı yavaşlatabilir. İzleme aracının veya uygulamanın performansı yavaşsa ve her nesneyi izlemeniz gerekmiyorsa örnekleme hızını ayarlayabilirsiniz. Bunu yapmak için profil oluşturucu özet sayfasındaki izleme aracının yanındaki dişli simgesini seçin.
Dotnet Ayırma aracının ayarlarının ekran görüntüsü. Dotnet Ayırma aracıSettings for the Dotnet Allocation tool içinAyarları
Örnekleme hızını istediğiniz hıza ayarlayın. Bu değişiklik, toplama ve analiz sırasında uygulamanızın performansını hızlandırmaya yardımcı olur.
Aracı daha verimli hale getirme hakkında daha fazla bilgi için bkz. Profil Oluşturucu ayarlarını iyileştirme.
Verilerinizi anlama
Aşağıdaki grafik görünümünde, en üstteki grafik uygulamanızdaki canlı nesnelerin sayısını gösterir. Alt nesne delta grafiği, uygulama nesnelerinin değişiklik yüzdesini gösterir. Çöp toplamanın ne zaman gerçekleştiğini gösteren kırmızı çubuklar.
için bir grafik
Bir zaman aralığı seçerek yalnızca belirli bir zaman aralığı için etkinliği görüntülemek üzere tablo verilerine filtreleyebilirsiniz. Bunu yaptığınızda, sekmelerde görüntülenen bilgilerin kapsamı filtrelenmiş zaman aralığına göre belirlenmiştir.
Ayrıca grafiği yakınlaştırabilir veya uzaklaştırabilirsiniz.
İçgörüler
İçgörüler görünümünde herhangi bir içgörü görünürse, tanımlanan sorun hakkında daha fazla bilgi almak için sağlanan bağlantıyı kullanın.
Yapay zeka yardımı alma
Copilot kullanıyorsanız en iyi içgörülere bakarken yapay zeka yardımı alabilirsiniz. Copilot, belirli performans içgörüleri kümesiyle ilgili bilgiler ve içgörüler sağlar. Copilot ile en fazla belleği kullanan nesneler hakkında sorular da sorabilirsiniz. Bu da daha verimli veya uygun maliyetli kod oluşturmanıza yardımcı olabilir.
Copilot'a Sor düğmesi Copilot'a Sor düğmesinin ekran görüntüsü. Belirli bir performans içgörüleri tanımlanmasa bile görüntülenir. Copilot'tan öğrenmek ve soru sormaya başlamak için Copilot'a sorun'ı seçin.
Ayırma
Ayırma görünümü, bellek ayıran nesnelerin konumunu ve bu nesnelerin ne kadar bellek ayırdığını gösterir.
Ayırma görünümünde aşağıdaki bilgiler görüntülenir:
Tür sütunu, belleği kaplayan sınıfların ve yapıların listesidir. Bir türün geriye dönük izini ters çağrı ağacı olarak görüntülemek için çift tıklayın. Yalnızca Ayırma görünümünde, seçilen kategorideki belleği kaplayan öğeleri görebilirsiniz.
Ayırmaları sütunu, belirli bir ayırma türü veya işlevi içinde belleği alan nesne sayısını gösterir. Bu sütun yalnızca Ayırma, Çağrı Ağacıve İşlevleri görünümlerinde görünür.
Bayt ve Ortalama Boyut (Bayt) sütunları varsayılan olarak görünmez. Bunları göstermek için, Tür veya Ayırmaları sütununa sağ tıklayın ve ardından Bayt ve Ortalama Boyut (Bayt) seçeneklerini seçerek bunları grafiğe ekleyin.
İki sütun, Toplam (Ayırmalar) ve Self (Ayırmalar)ile benzerdir, ancak bu sütunlar bellek alan nesne sayısı yerine, alınan bellek miktarını gösterirler. Bu sütunlar yalnızca Ayırma görünümünde görünür.
Modülü adı sütunu, çağıran işlevi veya işlemi içeren modülü gösterir.
Bu sütunların tümü sıralanabilir. Tür ve Modül Adı sütunları için öğeleri artan veya azalan düzende alfabetik olarak sıralayabilirsiniz. Ayırmaları, Bayt ve Ortalama Boyut (Bayt)için, öğeleri sayısal değere göre artan ya da azalan biçimde sıralayabilirsiniz.
Sembol
Aşağıdaki simgeler Ayırma, Çağrı Ağacıve İşlevleri sekmelerinde görünür:
- Tamsayı gibi bir değer türü
- Tamsayı dizisi gibi bir değer türü koleksiyonu
- Dize gibi bir referans türü
- Dize dizisi gibi bir başvuru türü koleksiyonu
Çağrı Ağacı
Çağrı Ağacı görünümü, çok fazla bellek ayıran nesneler içeren işlev yürütme yollarını gösterir.
Çağrı Ağacı görünümünde aşağıdaki bilgiler görüntülenir:
- İşlev Adı sütunu, belleği ayıran nesneleri içeren işlevin işlemini veya adını gösterir. Ekran, incelediğiniz düğümün düzeyine bağlıdır.
- Toplam (Ayırmalar) ve Toplam Boyutu (Bayt) sütunları, ayrılan nesnelerin sayısını ve bir işlev tarafından kullanılan bellek miktarını ve çağırdığı diğer tüm işlevleri gösterir. Toplam Boyut (Bayt) sütunu varsayılan olarak gizlenir.
- Self (Ayırmalar) ve Self-Size (Bayt) sütunları, ayrılan nesnelerin sayısını ve seçilen tek bir işlev veya ayırma türü tarafından kullanılan bellek miktarını gösterir.
- Ortalama Boyut (Bayt) sütunu, Ayırmaları görünümündekiyle aynı bilgileri gösterir. Bu sütun varsayılan olarak gizlenir.
- Modülü adı sütunu, çağıran işlevi veya işlemi içeren modülü gösterir.
Çağrı Ağacı görünümünde görüntülenen ek seçenekler şunlardır:
- Sık Erişimli Yolu Genişlet düğmesi, belleği ayıran birçok nesne içeren bir işlev yürütme yolunu vurgular. Algoritma, seçtiğiniz bir düğümde başlar ve en fazla ayırmanın yolunu vurgular ve araştırmanızda size yol gösterir.
- Etkin Yolu Göster düğmesi, hangi düğümlerin etkin yolun parçası olduğunu gösteren alev simgelerini gösterir veya gizler.
Işlev
İşlevleri görünümü bellek tahsis eden işlemleri, modülleri ve işlevleri gösterir.
İşlevleri görünümünde görüntülenen bilgiler şunları içerir:
Adı sütunu, işlemleri en üst düzey düğümler olarak gösterir. İşlemlerin altında modüller, modüllerin altında ise işlevler yer alır.
Aşağıdaki sütunlar, Ayırma ve Çağrı ağacı görünümlerindeki ile aynı bilgileri göstermektedir:
- Toplam (Ayırmalar)
- Kendi (Ayırmalar)
- Toplam Boyut (Bayt)
- Öz Boyut (Bayt)
- Ortalama Boyut (Bayt)
Koleksiyon
Koleksiyonu görünümü, çöp toplama sırasında kaç nesne toplandığını veya saklandığını gösterir.
Koleksiyon görünümünün ekran görüntüsü. Koleksiyon görünümüThe Collection view
Aşağıdaki bilgiler Koleksiyonu görünümünde görüntülenir.
- GC sütunu, yürütülebilir dosyanın yaşam döngüsünde bu çöp toplamanın kimliğini gösterir.
- Nesil sütunu, çöp toplamanın neslini gösterir.
- GC Türü sütunu bu çöp toplamanın türünü gösterir.
- GC Reason sütunu bu çöp toplama olayının nedenini gösterir.
- Duraklatma Süresi sütunu, atık toplayıcının yığının özel kullanımına ihtiyaç duyduğundan yürütmenin engellendiği zamanı gösterir. Arka plan çöp toplama için bu değer küçüktür.
- LOH Boyutu sütunu, atık toplayıcı çalıştırıldıktan sonra Büyük Nesne Yığınının boyutunu gösterir.
- POH Boyutu sütunu, çöp toplayıcı çalıştırıldıktan sonra Sabitlenmiş Nesne Yığınının boyutunu gösterir.
- Sonlandırılabilir Surv (MB) sütunu, sonlandırıcıları (yıkıcılar) olan ve çöp toplama işleminden sağ çıkan nesnelerin MB cinsinden toplam boyutunu gösterir.
- Sabitlenmiş Nesneler sütunu, bu çöp toplama işleminin terfi etmiş sabitlenmiş nesne sayısını gösterir.
- Toplanan sütunu, çöp toplayıcının topladığı nesne sayısını gösterir.
- Survived sütunu, çöp toplayıcı çalıştırıldıktan sonra hayatta kalan nesne sayısını gösterir.
Bir satır seçtiğinizde, bu görünümde toplanan ve hayatta kalan nesneleri türe göre görselleştirmek için pasta grafikler de gösterilir.
Filtreleme araçları
Ayırmalar, Çağrı Ağaçve İşlevler görünümlerinin üçü de Yalnızca Kodumu Göster ve Yerel Kodu Göster seçeneklerini ve bir filtre kutusunu içerir.
- Yalnızca Kodumu Göster sistemleri, çerçeveleri ve diğer kullanıcı olmayan kodları [Dış Kod] çerçevelere daraltarak yalnızca kodunuz üzerinde durabilmenizi sağlar. Daha fazla bilgi için bkz. Just My Code ile kullanıcı kodunda hata ayıklama.
- Yerel Kodu Göster analiz hedefi içindeki yerel kodu gösterir ve kullanıcı dışı kod içerebilir.
- Filtre kutusuyla, sağladığınız değere göre Adı veya İşlev adı sütununu filtreleyebilirsiniz. Kutuya bir dize değeri girin. Tablo daha sonra yalnızca bu dizeyi içeren türleri gösterir.