Soru Windows “iowait” CPU kullanımı raporlama


Windows için hesap ve rapor "iowait" Linux ile aynı şekilde mi? Yani, süreçler "kesintisiz uyku" girer ve harcanan zaman "CPU ücretsiz" den çıkarılır?

Eğer öyleyse, hangi Perfmon sayaçları "CPU, hesaplama nedeniyle meşgulse" yerine "CPU hizmetini geciktiren gecikmeler nedeniyle meşgul" tespit etmek için uygun olurdu.


7
2017-10-18 20:02


Menşei


Bu çekirdek sihirbazı. İçine bakmak isteyebilirsiniz "Windows Internals" daha detaylı bir resim için. - the-wabbit


Cevaplar:


Windows çekirdeğindeki bazı kavramlar, Linux'takilerden önemli ölçüde farklıdır, bu yüzden bir iowait Perfmon'da sayaç.

İlk olarak, Windows'da zamanlamanın varlığı bir süreç değil, bir iş parçacığıdır. Bir süreç 1+ iş parçacığı için sadece bir kapsayıcıdır. Ayrıca, Windows iş parçacığı için kesintisiz bir uyku durumu tanımlamaz (daha kesin olarak, tüm G / Ç istekleri kesintiye uğrayabilir - örneğin aynı işlemin başka bir iş parçacığı tarafından), böylece tam olarak olmazdı iowait Windows platformlarında muadili. Windows, iş parçacıklarının G / Ç isteklerini eşzamanlı olarak başlattığı anda iş parçacığı tarafından yalnızca içerik değiştirmesi nedeniyle iş parçacıklarının G / Ç'yi "boşta" olarak senkronize etmesini beklediği süreyi bildirir.

Belirli bir cihazdaki G / Ç işlemleri için harcanan toplam süre ile ilgileniyorsanız, gecikmeyle ilgili sayıcılar Bu süre zarfında işlenen ilgili isteklerin sayısı ile birlikte. Ancak bu, eşzamanlı ve eşzamansız erişim modellerinde onu parçalamanıza izin vermez.


6
2017-10-18 20:44