Windows Görev Yöneticisi ile GPU Kullanımı Nasıl İzlenir?

Microsoft, yıllar önce Görev Yöneticisi’nde GPU performans verileri için destek sunmaya başlamıştı. GPU sekmesinde birçok grafik ve farklı detay bizi karşılıyor. Şimdi sunulan bu ekran kartı performans verilerini daha iyi anlamak için Windows’un GPU’ları nasıl kullandığına derinlemesine bakacağız.

Grafik işlemciler Windows’ta Windows Ekran Sürücüsü Modeli (Windows Display Driver Model-WDDM) aracılığıyla çalışıyor. WDDM’nin kalbinde GPU’yu tüm çalışan işlemler arasında soyutlamaktan, yönetmekten ve paylaşmaktan sorumlu olan Grafik Çekirdeği (Graphics Kernel) bulunuyor. Bu arada her uygulama veya oyunun birden fazla işlem yürüttüğünü ekleyelim.

Grafik Çekirdeği, bir GPU zamanlayıcı (VidSch) ve ayrıca bir video belleği yöneticisi (VidMm) ile birlikte görev yapıyor. VidSch, GPU’ların çeşitli motorlarını kullanmak isteyen işlemlere programlamak ve öncelik vermek için geliştirildi. VidMm ise hem VRAM (ekran kartınızdaki bellek) hem de GPU tarafından doğrudan erişilen ana DRAM (sistem belleği) dahil olmak üzere GPU tarafından kullanılan tüm belleği yönetmekten sorumlu. Ek olarak, sisteminizdeki her ekran kartı için bir VidMm ve VidSch örneği başlatılıyor.

Görev Yöneticisi’ndeki veriler doğrudan VidSch ve VidMm’den toplanmakta. Bu nedenle Microsoft DirectX API, OpenGL, OpenCL, Vulkan, hatta AMD Mantle veya NVIDIA’nın CUDA’sı olsun, hangi API’nin kullanıldığına bakılmaksızın GPU için performans verileri kullanılabilir. Bildiğiniz gibi ekran kartı verilerini takip etmek için kullanılan birçok yardımcı yazılım var. Microsoft, VidSch ve VidMm’nin GPU kaynaklarını kullanma konusunda temeli oluşturduğundan dolayı diğer yardımcı yazılımlara göre daha iyi sonuçlar vereceğini söylüyor.

Görev Yöneticisi üzerinden GPU performans verilerini izlemek için WDDM sürüm 2.0 veya üstünü destekleyen bir ekran kartı sürücüsü şart. WDDM 2.0, Windows 10’un orijinal sürümüyle tanıtıldı ve Windows 10 popülasyonunun yaklaşık %70’i tarafından destekleniyor. GPU sürücünüzün kullandığı WDDM sürümünden emin değilseniz, öğrenmek için dxdiag yardımcı programını kullanabilirsiniz.

  • dxdiag’ı başlatmak için Başlat menüsünü açın ve arama çubuğuna “dxdiag.exe” yazın. Sürücü Modeli için üst kısımdaki Ekran sekmesine bakın.
  • Eğer eski bir ekran kartı kullanıyorsanız (WDDMv1.x) Görev Yöneticisi GPU verilerini göstermeyecek.

dxdiag WDDM sürümü öğrenme.

Performans sekmesi altında, WDDMv2 özellikli GPU’larınız için tüm süreçlerde toplanan performans verilerini bulacaksınız. Sol panelde sisteminizdeki GPU’ların listesini görebilirsiniz. Eğer bir dizüstü bilgisayar kullanıyorsanız, entegre ve harici grafikler olmak üzere burada iki ayrı ekran kartı yer alabilir. Bunlar GPU0 ve GPU1 gibi numaralara sahip olacak. Birden fazla GPU mevcut olduğunda grafik işlemciler fiziksel konumlarına göre sıralanırlar (PCI veri yolu/cihaz/işlev).

Windows ayrıca NVIDIA SLI ve AMD CrossFire olarak bilinen çoklu GPU kullanımı için destek sunuyor. Bağlantılı kartlar tek bir VidMm ve VidSch örneğini paylaşmakta ve sonuç olarak, VRAM miktarıyla beraber okuma ve yazma hızları da dahil olmak üzere birçok veri için yakın işbirliği yapılmakta.

GPU’lar birbirine bağlandığında, Görev Yöneticisi her bağlantı için bir Bağlantı # (Link #) etiketi atayacak ve bunun parçası olan ekran kartlarını belirleyecek. Bu bağlamda oyun oynarken her bir GPU’nun ne kadar kullanıldığını gözlemlemenize olanak tanıyan veriler sunuluyor.

GPU Kullanımı

Bir GPU motoru, programlanabilen ve birbiriyle paralel olarak çalışabilen GPU üzerindeki bağımsız bir silikon birimini temsil eder. Örneğin, 3B işleme için bir 3B motor kullanılırken, verileri aktarmak için bir kopyalama motoru kullanılabilir. 3B motor aynı zamanda verileri taşımak için kullanılabilirken, basit veri aktarım işleri kopyalama motoruna atanabilir ve 3B motorun daha karmaşık görevler üzerinde çalışmasına izin vererek genel performansı iyileştirebilir. Bu durumda hem kopyalama motoru hem de 3D motoru paralel olarak çalışacaktır.

Bahsettiğimiz gibi VidSch, bu GPU motorlarını kullanmak isteyen çeşitli süreçler için programlamak ve öncelik vermekten sorumludur. GPU motorlarının GPU çekirdeklerinden farklı olduğunu özellikle belirtmekte fayda var; GPU motorları aslında GPU çekirdeklerinden meydana gelir.

Örneğin 3B motor binlerce çekirdeğe sahip olabilir. Ancak bu çekirdekler, motor adı verilen bir varlık içinde gruplandırılmıştır ve bir grup olarak programlanmıştır. Bir işlem bir motora tahsis edildiğinde, o motorun tüm temel çekirdeklerini kullanabilir.

Bazı GPU’lar ise aynı temel çekirdek kümesine eşlenen birden çok motoru desteklemekte. Motorlar paralel olarak programlanabilse de temeldeki çekirdekleri paylaşıyorlar. Bunu kavramsal olarak CPU’daki hiper iş parçacığına benzetebiliriz. Örnek olarak, bir 3B motor ve bir bilgi işlem motoru aslında aynı birleşik çekirdek kümesine dayanıyor olabilir. Böyle bir senaryoda, çekirdekler yürütülürken motorlar arasında uzamsal veya geçici olarak bölünmekte. Aşağıdaki şema, varsayımsal bir GPU’nun motorlarını ve çekirdeklerini gösteriyor.


GPU’nun motorlarını ve çekirdeklerini gösteren temsili bir şema.

Görev Yöneticisi, varsayılan olarak görüntülenecek dört motor seçmekte. Ancak hangi motoru gözlemlemek istediğinize, motor adına tıklayarak ve GPU tarafından gösterilen motorlar listesinden başka bir motor seçerek karar verebilirsiniz.


Görev Yöneticisi GPU motoru seçme ekranı.

Motor sayısı ve bu motorların kullanımı GPU’lar arasında farklılık gösterecektir. Bir ekran kartı sürücüsü, video kod çözme motorunu kullanarak belirli bir medya klibinin kodunu çözmeye karar verebilirken, farklı bir video formatı kullanan başka bir klip, hesaplama motoruna veya hatta birden çok motorun bir kombinasyonuna güvenebilir. Görev Yöneticisini kullanarak GPU’da bir iş yükü çalıştırabilir ve ardından hangi motorların onu işleyebileceğini gözlemleyebilirsiniz.

GPU adının altındaki sol bölmede ve sağ bölmenin altında GPU için birleştirilmiş kullanım yüzdesi göreceksiniz. Microsoft, burada grafik motorları arasında kullanım oranını hesaplamak ve toplamak üzere birkaç farklı seçenek kullanabilirdi. 10 motora sahip bir GPU düşünelim. Örneğin 3D motoru ağır bir oyunla birlikte tam yükte çalışıyor. Tüm grafik motorlarını hesaba katarsak kullanım oranı yalnızca %10 görünecektir. Bu yanıltıcı bir sonuç olur ve kesinlikle oyuncuların görmek istediği şey değil.

Ayrıca GPU’yu bir bütün olarak temsil etmesi için 3D motoru da seçilebilirdi zira bu genellikle en belirgin ve kullanılan motor. Ancak yine bu veriler kullanıcıları yanlış yönlendirebilir. Örneğin bir video oynattığınızda 3D motorunun hiç kıpırdamadığını görebilirsiniz. Eğer algoritma böyle işleseydi GPU kullanım oranı %0 olarak raporlanacaktı. Yazılım devi, bunun yerine genel GPU kullanımının bir temsilcisi olarak en yoğun motorların kullanım yüzdesini kullanmayı tercih etti.

Video Belleği (VRAM)

Görev Yöneticisi’nde grafiklerin hemen altında video belleği kullanım grafikleri ve özeti bulunuyor. Video belleği iki büyük kategoriye ayrılıyor: adanmış (ayrılmış) ve paylaşılan.

Ayrılmış bellek, yalnızca GPU tarafından kullanılmak üzere ayrılmış ve VidMm tarafından yönetilen belleği temsil ediyor. Bu harici ekran kartınızda yer alan bellek olan VRAM, entegre grafiklerde ise ayrılmış sistem belleğidir. Birçok entegre ekran kartı, özel grafik kullanımı için bellek ayırmaktan kaçınır ve bunun yerine daha verimli olan CPU ile paylaşılan belleğe güvenmeyi tercih eder.

Dahili GPU’larda işler çok karmaşık. Bazı entegre grafik birimlerde özel bellek bulunurken bazılarında bulunmuyor. Bazı GPU’lar firmware ile (veya sürücü başlatma sırasında) ana DRAM’den bellek tahsis eder. Bu bellek CPU ile paylaşılan DRAM’den ayrılsa da, Windows’tan alınır ve Windows bellek yöneticisinin (Mm) kontrolü dışında tutulur, yalnızca VidMm tarafından yönetilir. Bu tür bir kapasite tahsis biçimi genellikle daha esnek olan paylaşılan bellekler için önerilmiyor, ancak bazı GPU’ların şu anda buna ihtiyacı var.

Performans sekmesi altındaki ayrılmış bellek miktarı, bir işlem tarafından talep edilen belleği gösteren birçok mevcut yardımcı programın aksine, tüm işlemlerde tüketilen bayt sayısını gösteriyor. Paylaşılan bellek, GPU veya CPU tarafından kullanılabilen normal sistem belleğini (RAM) temsil ediyor. Bu bellek esnektir, her iki şekilde de kullanılabilir ve hatta kullanıcı iş yükünün gerektirdiği şekilde ileri ve geri geçiş yapabilir. Hem ayrık hem de entegre GPU’lar paylaşılan belleği kullanabilir.

Windows, GPU’nun herhangi bir anda fiziksel belleğin yalnızca yarısını kullanmasına izin veren bir ilkeye sahip. Bunun nedeni ise sistemin geri kalanında yaşanacak aksaklıkları engellemek ve başka sorunların önüne geçmek. Örneğin 16 GB belleğe sahip bir sistemde GPU’nun maksimum 8 GB’a kadar kaynak kullanmasına izin veriliyor.

İşlemler Sekmesi

İşlemler sekmesi altında işlemlere göre ayrılmış toplu ekran kartı kullanımının bir özetini bulacaksınız. Bu sayfanın GPU açısından çalışma mantığı oldukça farklı. Daha önce belirttiğimiz gibi, bir PC birden fazla GPU’ya sahip olabilir ve bu GPU’ların her biri tipik olarak birden fazla grafik motoru barındırıyor.

Eğer her GPU ve motor kombinasyonu için bir sütun eklenseydi Görev Yöneticisi içinden çıkılmaz bir hal alırdı. Performans sekmesi, bir kullanıcıya çalışan çeşitli işlemlerde sistem kaynaklarının nasıl kullanıldığına hızlı ve basit bir bakış sunmayı amaçlıyor; bu nedenle, GPU hakkında faydalı bilgiler sağlamak için basit bir yol izlendi.

Microsoft mühendisleri, bu süreç için tüm GPU’larda en yoğun motorun kullanımını genel ekran kartı kullanımını temsil edecek şekilde görüntülemeyi tercih ettiler. Ancak bir uygulama 3D motorunu %100 kullanırken, başka bir uygulama da video motorunu tam yük altında kullanabilir. Bu durumda her iki uygulama da %100’lük bir genel kullanım bildirirken kafa karıştırıcı sonuçlar ortaya çıkabilir. Yazılım geliştiriciler, bu sorunu çözmek için gösterilen kullanımın hangi GPU ve motor kombinasyonuna karşılık geldiğini belirten ikinci bir sütun ekledi. Benzer şekilde, sütunun üst kısmındaki kullanım özeti, tüm GPU’lardaki kullanım oranını gösteriyor. Buradaki hesaplama performans sekmesi altında görüntülenen genel GPU kullanımı ile aynı.

Ayrıntılar Sekmesi

Ayrıntılar sekmesi altında varsayılan olarak GPU hakkında bilgi sunulmuyor. Ancak sütun başlığına sağ tıkladıktan sonra “Sütunları seç” ile birlikte GPU kullanım sayaçlarını bu sayfaya ekleyebilirsiniz.

Bu video belleği kullanım sayaçları hakkında dikkat edilmesi gereken birkaç nokta var. Sayaçlar, o işlem tarafından kullanılmakta olan toplam ayrılmış ve paylaşılan video belleği miktarını temsil ediyor. Yani hem özel belleği (yalnızca o işlem tarafından kullanılan belleği) hem de çapraz işlem paylaşılan belleği (CPU ve GPU arasında paylaşılan bellekle karıştırılmaması için diğer işlemlerle paylaşılan belleği) içeriyor.

Bunun bir sonucu olarak, süreçler arasında paylaşılan bellek daha kapsayıcı olduğundan dolayı bellek kullanımı daha yüksek görünebilir. Nitekim bir GPU tarafından toplam ne kadar bellek kullanıldığını anlamak için paylaşılan belleği doğru şekilde hesaplayan performans sekmesine bakmakta fayda var.

Başka bir noktaya değinecek olursak, özellikle dwm.exe ve csrss.exe gibi işlemlerin kaynak kullanım oranı gerçekte olduğundan çok daha büyük görünebilir. Örneğin, bir uygulama üst düzey pencere oluşturduğunda, o pencerenin içeriğini tutmak için video belleği tahsis edilecektir. Bu video bellek düzeyi uygulama adına csrss.exe tarafından oluşturulurken uygulama sürecinin kendisiyle eşleniyor ve pencerenin masaüstünde oluşturulabilmesi için masaüstü pencere yöneticisi (dwm.exe) ile paylaşılıyor. Sonuç olarak, masaüstünüz meşgul oldukça miktarların büyüdüğünü görebilirsiniz lakin bunların gerçekte tüm kaynakları tüketmediğini unutmayın.

Windows 11

Görev Yöneticisi Windows 10’da özellikle GPU açısından önemli özellikler almıştı. Windows 11 ile birlikte Görev Yöneticisi’nde hem görsel hem işlevsel olarak bazı yenilikler yapılıyor.

Microsoft’un yeni Görev Yöneticisi artık Windows 11’e aitmiş gibi hissettiriyor. Yazılım devi, İşlemler, Performans ve diğer bölümler arasında geçiş yapmak için kullanılan sekmeleri sol tarafta yer alan bir menüye ekledi. Soldaki kaydırma menüsüyle beraber Görev Yöneticisi artık çoğu modern Windows 11 uygulamasına çok daha fazla benziyor.

Verimlilik Modu

Microsoft ayrıca Görev Yöneticisi için yeni bir “Verimlilik modu” test ediyor. Önceden “Eko modu” olarak bilinen Görev Yöneticisi’nin en son özelliği, kullanıcıların çalışan her işlemin güç tüketimini kontrol etmesine olanak tanıyacak.

Verimlilik modunu İşlemler sayfasındaki yeni komut çubuğundan başlatabilir veya işleme sağ tıklayabilirsiniz. Yeni özellik süreç bazında çalışıyor, bu nedenle tüm grup süreci için geçerli değil.

Adından da anlaşılacağı gibi, Verimlilik Modu bir bütün olarak işletim sisteminin performansını etkilemeden belirli bir işlemin kaynak kullanımını en aza indirmek için görev yapacak. Ancak bağlantılı işlemler için kararlılık sorunlarına neden olabilir, bu nedenle şirket tüm yerel uygulamalar ve dahili işlemler için seçeneği devre dışı bıraktı.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir