Aracılığıyla paylaş


İş parçacığı View (paralel performans)

İş parçacıkları Görünümü, Eşzamanlılık Görselleştiricisi içindeki en ayrıntılı ve zengin özellikli görünümdür.Bu görünümü kullanarak iş parçacıklarının eşitleme, G/Ç ya da başka bir nedenle yürütüldüğünü ya da engellendiğini belirleyebilirsiniz.

Profil çözümleme sırasında, Eşzamanlılık Görselleştirici'si her uygulama iş parçacığı için tüm işletim sistemi içerik değiştirme olaylarını inceler.İçerik Geçişi, bunlar gibi birçok nedenle ortaya çıkabilir:

  • Bir iş parçacığı eşitleme ilkelleri üzerinde engellenir.

  • Bir iş parçacığının miktarı sona erer.

  • Bir iş parçacığı engelleyici bir G/Ç isteği yapar.

Bir iş parçacığı yürütmeyi durduğu zaman İş Parçacıkları Görünümü her içerik anahtarı için bir kategori atar.Kategoriler göstergedeki görünümünün sol alt kısmında gösterilir.Eşzamanlılık Görselleştiricisi içerik değiştirme olaylarını, bilinen engelleyici API'ler için iş parçacığı çağrı yığınını arayarak kategorize eder.Çağrı yığını eşleşmesi yok ise Windows tarafından sağlanan bekleme nedeni kullanılır. Ancak, Windows kategorisi bir uygulama ayrıntısı üzerine dayalı olabilir ve kullanıcının amacını yansıtmayabilir. Örneğin, Windows eşitleme yerine G/Ç gibi doğal ince Okuyucu Yazıcı kilidi üzerindeki engellemenin bekleme nedeni bildirir. Çoğu durumda, içerik değiştirme olaylarına karşılık gelen çağrı yığınlarını inceleyerek engelleme olayının temel nedenini tanımlayabilirsiniz.

İş Parçacıkları Görünümü, aynı zamanda iş parçacıkları arasındaki bağımlılıkları gösterir.Örneğin, eşitleme nesnesi üzerinde engellenmiş bir iş parçacığını tanımlıyorsanız, onu engelleyen iş parçacığına bakabilirsiniz ve diğerini bloke etmeyen noktada bu iş parçacığı için çağrı yığını faaliyetini inceleyebilirsiniz.

İş parçacığı yürütürken, Eşzamanlılık Görselleştiricisi örnekleri toplar.İş Parçacıkları Görünümü içinde hangi kodun bir yürütme bölütü sırasında bir veya daha fazla iş parçacığı tarafından yürütüldüğünü analiz edebilirsiniz.Ayrıca, engelleme raporlarını ve çağrı yığını ağaç yürütme profil raporlarını inceleyebilirsiniz.

Kullanım

İş Parçacıkları Görünümü kullanmanın bazı yolları şunlardır:

  • Bir uygulamanın kullanıcı arabiriminin (UI) belirli yürütme aşamaları sırasında neden yanıt vermediğini tanımlayın.

  • Eşitleme, G/Ç, sayfa hataları ve diğer olayları engellemek için harcanan zamanı tanımlayın.

  • Sistemde yürütülen diğer işlemlerden girişim derecesini tanımlayın.

  • Paralel yürütme için Yük Dengeleme sorunları tanımlayın.

  • Hassasiyetli ya da var olmayan ölçeklenebilirlik nedenlerini tanımlayın (örneğin, daha mantıksal çekirdek kullanılabilir olduğunda, paralel bir uygulamanın neden performansını iyileştiremediği).

  • Paralleştirme içinde yardımcı olmak için uygulama eşzamanlılık derecesini anlayın

  • Çalışan iş parçacıkları ve yürütmenin kritik yolları arasındaki bağımlılıkları anlayın.

Belirli Zaman Aralıkları ve İş Parçacıklarını İncelemek

İş Parçacıkları Görünümü bir Zaman Çizelgesi'ni gösterir.Uygulamanızın iş parçacıklarını ve belirli aralıklarını incelemek için zaman çizelgesi içinde yakınlaştırma ve kaydırma yapabilirsiniz.X ekseni üzerinde süre ve Y ekseni üzerinde birden fazla kanal vardır:

  • Her bir disk sürücüsündeki sistem üzerinde, bir kanal okuma işlemi için ve diğer kanal yazma işlemi için olmak üzere iki G/Ç kanalı bulunur.

  • İşlemdeki her iş parçacığı için bir kanal.

  • İşaretleyici kanallar, izleme içinde işaretleyici olaylar var ise.İşaretleyici kanallar başlangıçta söz konusu olayları oluşturan iş parçacığı kanallarının altında görüntülenir.

  • GPU kanalları.

İş Parçacığı Görünümü'nün örneklemesi aşağıdadır:

İş Parçacıkları Görünümü

İş parçacıkları görünümü

Başlangıçta, iş parçacıkları oluşturuldukları sırayla sıralanır.Böylece ana uygulama iş parçacığı ilk sıradadır.İş parçacıklarını başka bir ölçüte göre (örneğin, çoğu yürütme çalışması tarafından) sıralamak için görünümünün sol üst köşesindeki sıralama seçeneğini kullanabilirsiniz.

Çalışma göstermeyen iş parçacıklarını sol sütunda yer alan adlarını seçerek ve daha sonra araç çubuğundaki Seçili İş Parçacıklarını Gizle butonunu seçerek gizleyebilirsiniz.Tamamen engellenmiş iş parçacıklarını gizlemenizi öneririz. Çünkü onların istatistikleri ilgisizdir ve raporları kilitleyebilir.

Etkin göstergede, ek iş parçacıklarını gizlemek amacıyla tanımlamak için Her İş Parçacığı Özeti seçin, Profil Raporu sekmesi üzerinde raporlayın.Bu, bir seçili zaman aralığı içinde geçerli iş parçacığı durumunu gösteren yürütme çözümleme grafiğini görüntüler.Bazı yakınlaştırma düzeylerinde bazı iş parçacıkları görüntülenmeyebilir.Bu durumda, elipsler sağ tarafta görüntülenir.

Zaman aralığını ve içinde bazı iş parçacıklarını seçtikten sonra performans analizini başlatabilirsiniz.

Analiz Araçları

Bu bölüm raporları ve diğer çözümleme araçlarını tanımlar.

Dd627193.collapse_all(tr-tr,VS.110).gifİş Parçacığı Engelleme Ayrıntıları

Bir iş parçacığı üzerinde belirli bir bölgede bulunan engelleme olayı hakkında bilgi almak için, bir araç ipucusunu görüntülemek adına işaretçiyi o bölgede tutunuz.Varsa kategori, bölge başlangıç saati, engelleme süresi ve engelleme API'leri gibi bilgileri içerir.Engelleme bölgesini seçerseniz; o zaman içinde bu noktadaki yığın, en alt bölmede Araç İpucu'nda görüntülenen aynı bilgilerinin yanı sıra görüntülenir.Çağrı yığınını inceleyerek, iş parçacığı engelleme olayının temel nedenini belirleyebilirsiniz.Bölümü seçerek ve Geçerli sekmeyi inceleyerek, ek işlem ve iş parçacığı bilgilerini bulabilirsiniz.

Yürütme yolu birden çok engelleme olaylarına sahip olabilir.Sorunlu alanları daha hızlı bir biçimde bulabilmeniz için bu kategorileri engelleyerek inceleyebilirsiniz.Engelleme kategorilerinden birini soldaki göstergede seçmeniz yeterlidir.

Dd627193.collapse_all(tr-tr,VS.110).gifİş Parçacıkları Arasındaki Bağımlılıklar

Eşzamanlılık Görselleştiricisi işleminiz içindeki iş parçacıkları arasındaki bağımlılıkları gösterebilir.Böylece engellenen bir iş parçacığının ne yapmaya çalıştığını belirleyebilir ve diğer bir iş parçacığının onu yürütmek için neyi etkinleştirdiğini öğrenebilirsiniz.Hangi iş parçacığının başka bir iş parçacığını engellediğini belirlemek için ilgili engelleme bölümünü seçin.Eşzamanlılık Görselleştiricisi engellemeyi kaldıran iş parçacığını belirleyebilirse, engellemeyi kaldıran iş parçacığı ve engelleme bölümünü izleyen yürütülen bölüm arasında bir çizgi çizer.Buna ek olarak, Engelleme Kaldıran Yığın sekmesi ilgili çağrı yığınını gösterir.

Dd627193.collapse_all(tr-tr,VS.110).gifİş Parçacığı Yürütme Ayrıntıları

Bir iş parçacığının zaman çizelgesi grafiğinde yeşil bölümler onun ne zaman kodu yürüttüğünü gösterir.Yürütme bölümü hakkında daha ayrıntılı bilgi edinebilirsiniz.

Yürütme bölümü içinde bir nokta seçtiğinizde, Eşzamanlılık Görselleştiricisi ilgili çağrı yığını üzerinde zamanında o noktayı arar ve yürütme bölümündeki seçili noktanın üstünde bir siyah düzeltme imini görüntüler ve Geçerli Yığın sekmesi üzerinde çağrı yığınını görüntüler.Yürütme bölütü üzerindeki birden çok nokta seçebilirsiniz.

[!NOT]

Eşzamanlılık Görselleştiricisi'nin yürütme bölümündeki bir seçimi çözmesi mümkün olmayabilir.Bu, genellikle birden daha az milisaniyelik bölüm süresi olduğu zaman ortaya çıkar.

Seçili zaman aralığı içinde (gizlenmeyen) tüm etkinleştirilmiş iş parçacıkları için yürütme profili almak için Yürütme düğmesini etkin gösterge içinde seçin.

Dd627193.collapse_all(tr-tr,VS.110).gifZaman Çizelgesi Grafiği

Zaman Çizelgesi Grafiği tüm iş parçacıklarının işlem içindeki etkinliklerini ve ana bilgisayardaki tüm fiziksel disk aygıtlarını gösterir.Ayrıca, GPU etkinliklerini ve işaretleyici olaylarını görüntüler.Daha fazla ayrıntı görüntülemek için büyütebilirsiniz veya daha uzun bir zaman aralığını görüntülemek için küçültebilirsiniz.Grafikteki noktaları; kategoriler, başlangıç saatleri, süreleri ve çağrı yığını durumları ile ilgili ayrıntılar almak için de seçebilirsiniz.

Zaman Çizelgesi Grafiği içinde bir renk belirli bir zamanda bir iş parçacığı durumunu gösterir.Örneğin; yeşil parçalar yürütülmekteydi, kırmızı parçalar eşitleme için engelleniyordu, sarı parçalar önleniyordu ve mor parçalar G/Ç içinde gerçekleştiriliyordu.Paralel bir döngü veya eşzamanlı görevler içinde bulunan söz konusu iş parçacıkları arasındaki iş dengesini incelemek için bu görünümü kullanabilirsiniz.Bir iş parçacığının diğerlerine göre tamamlanması uzun zaman alıyorsa, iş dengesiz olabilir.İş parçacıkları arasında daha eşit şekilde iş dağıtarak programınızın performansını artırmak için bu bilgileri kullanabilirsiniz.

Zaman içinde bir noktada yalnızca bir iş parçacığı yeşil ise (yürütme), uygulama sistemdeki eşzamanlılık avantajlarının tamamından yararlanamayabilir.İş parçacıkları arasındaki bağımlılıkları, engelleme ve engellenen iş parçacıkları arasındaki geçici ilişkileri incelemek için Zaman Çizelgesi Grafiği'ni kullanabilirsiniz.İş parçacıklarını yeniden düzenlemek için bir iş parçacığı seçin ve araç çubuğunda yukarı veya aşağı düğmesini seçin.İş parçacığı gizlemek için, onları seçin ve sonra İş Parçacıkları Gizle düğmesini seçin.

Dd627193.collapse_all(tr-tr,VS.110).gifProfil Raporları

Zaman Çizelgesi'nin altındaki kısım zaman çizelgesi profilidir ve çeşitli raporlar için sekmelerin bulunduğu bir bölmedir.İş Parçacıkları Görünümü'nü değiştirdiğinizde raporlar otomatik olarak güncellenir.Büyük izlemeler için, güncelleştirmelerin hesaplandığı sırada raporlar bölmesi kullanılamaz durumda olabilir.Her raporun iki filtre ayarı vardır: gürültü azaltma ve Yalnızca Kendi Kodum.Biraz zamanın harcandığı çağrı ağacı kayıtlarını filtrelemek için gürültü azaltmayı kullanın.Varsayılan filtre değeri yüzde 2'dir ancak onu yüzde 0 'dan yüzde 99'a kadar ayarlayabilirsiniz.Kodunuz için yalnızca çağrı ağacını görüntülemek için Yalnızca Kendi Kodum onay kutusunu seçin.Tüm çağrı ağaçlarını görmek için, seçimi kaldırın.

Dd627193.collapse_all(tr-tr,VS.110).gifProfil Raporu

Bu sekme, etkin gösterge girişlerine karşılık gelen raporları gösterir.Bir raporu görüntülemek için girdilerinden birini seçin.

Dd627193.collapse_all(tr-tr,VS.110).gifGeçerli Yığın

Bu sekme, zaman çizelgesi grafiği içinde bir iş parçacığı bölümündeki seçili nokta için çağrı yığınını gösterir.Çağrı yığınları yalnızca programınızla ilgili faaliyetleri göstermek için atılır.

Dd627193.collapse_all(tr-tr,VS.110).gifYığın Engellemesi Kaldırılıyor

Seçili iş parçacığının engellemesinin hangi iş parçacığı tarafından kaldırıldığını ve hangi kod satırında olduğunu görmek için Yığın Engellemesinin Kaldırılması sekmesini seçin.

Dd627193.collapse_all(tr-tr,VS.110).gifYürütme

Yürütme Raporu, yürütme dökümünde uygulama için harcanan süreyi gösterir.

Yürütme süresi içinde geçen kod satırını bulmak için, çağrı ağacını genişletin ve sonra çağrı ağacı girdisi için kısayol menüsünden Kaynak Görüntüleme veya Çağrı Sitelerini Görüntüle 'yi seçin.Kaynak Görüntüleme yürütülen kod satırını bulur.Çağrı Sitelerini Görüntüle yürütülen kod satırı adı verilen kod satırını bulur.Yalnızca bir çağrı sitesi varsa, kendi kod satırı vurgulanır.Birden çok çağrı sitesi varsa, görünür iletişim kutusundan istediğiniz birini seçebilirsiniz ve sonra Kaynağa gidin düğmesini çağrı site kodunu vurgulamak için seçin.Genellikle en iyi örnekleri, en çok zamanı veya her ikisini içeren çağrı sitesini bulmak kullanışlıdır.Daha fazla bilgi için bkz. Yürütme Profil raporu.

Dd627193.collapse_all(tr-tr,VS.110).gifEşitleme

Eşitleme raporları, eşitleme blokları için sorumlu olan çağrılar ile çağrı yığınının toplam engelleme zamanını birlikte gösterir.Daha fazla bilgi için bkz. Eşitleme zamanı.

Dd627193.collapse_all(tr-tr,VS.110).gifG/Ç

G/Ç raporu, G/Ç engelleri için sorumlu çağrılar ile her çağrı yığınının toplam engelleme zamanını birlikte gösterir.Daha fazla bilgi için bkz. G/Ç saat (iş parçacığı görünümü).

Dd627193.collapse_all(tr-tr,VS.110).gifUyku

Uyku raporu, uyku engelleri için sorumlu olan çağrılar ile her çağrı yığınının toplam engelleme zamanını birlikte gösterir.Daha fazla bilgi için bkz. Bekleme süresi.

Dd627193.collapse_all(tr-tr,VS.110).gifBellek Yönetimi

Bellek yönetim raporu, bellek yönetim engelinin olduğu çağrılar ile her çağrı yığınının toplam engelleme zamanını birlikte gösterir.Aşırı sayfalama ya da atık koleksiyonu sorunlarına sahip olan alanları belirlemek için bu bilgileri kullanabilirsiniz.Daha fazla bilgi için bkz. Bellek yönetimi saat.

Dd627193.collapse_all(tr-tr,VS.110).gifÖnalım

Önalım raporu, sistem üzerinde geçerli işlemleri önceden ayıran örnekleri ve geçerli işlemdeki iş parçacıklarının yerini alan tek iş parçacıklarını gösterir.Önealım için en fazla sorumluluğa sahip olan iş parçacıkları ve işlemleri tanımlamak için bu bilgileri kullanabilirsiniz.Daha fazla bilgi için bkz. Preemption saat.

Dd627193.collapse_all(tr-tr,VS.110).gifUI İşleme

UI işleme raporları, UI işleme blokları için sorumlu olan çağrılar ile çağrı yığınının toplam engelleme zamanını birlikte gösterir.Daha fazla bilgi için bkz. Kullanıcı Arabirimi işlem süresi.

Dd627193.collapse_all(tr-tr,VS.110).gifHer İş Parçacığı Özeti

Bu sekme, her iş parçacığının çalışmak, engellemek, G/Ç ve diğer durumlar için harcadığı toplam zamanı renk kodlu sütun görünümü ile gösterir.Sütunların alt kısmında etiketlenir.Zaman Çizelgesi Grafiği için yakınlaştırma düzeyini ayarladığınızda, bu sekme otomatik olarak güncelleştirilir.Bazı yakınlaştırma düzeylerinde bazı iş parçacıkları görüntülenmeyebilir.Bu durumda, elipsler sağ tarafta görüntülenir.İstediğiniz iş parçacığı görüntülenmezse, diğer iş parçacıklarını gizleyebilirsiniz.Daha fazla bilgi için bkz. İş parçacığı özet raporu.

Dd627193.collapse_all(tr-tr,VS.110).gifDisk İşlemleri

Bu sekme, hangi işlemlerin ve iş parçacıklarının geçerli işlem adına G/Ç diski içinde olduğunu gösterir.Bunlar (örneğin, yüklenen DLL'ler) hangi dosyalara dokundukları, okunan bayt sayısı ve diğer bilgilerdir.Özellikle işleminize bağlı G/Ç göründüğü zaman, yürütme sırasında dosyalara erişmede harcanan zamanı değerlendirmek için bu raporu kullanın.Daha fazla bilgi için bkz. Disk işlemleri raporu (iş parçacığı görünümü).

Ayrıca bkz.

Kavramlar

Eşzamanlılık görselleştiricisi