CPU yüzdesi ne anlama geliyor?


11

İşlemci yüzde kullanımını bir işlemle izliyorum. Bir işlem nasıl yalnızca% 50 CPU kullanır? Bir işlem% 100 sonra% 0, sonra% 100 kullanmıyor mu? Diğer her talimat gibi farklı bir program değildir.


1
Şans eseri çift işlemciniz var mı?

SuperUser için kesinlikle bir soru.
Noldorin

Yanıtlar:


16

Sadece anketler saniyede yaklaşık bir kez yapılır. Son saniyenin ne kadarını kullandığınıza bakıyorsunuz.

Bir süre% 50'de oturan bir işlemci görüyorsanız, büyük olasılıkla bir cpu'nun% 100'ünü çift cpu sisteminde kullanmasıdır.


4
"çift çekirdekli sistemin bir çekirdeği" - ... hatta "hiper iş parçacıklı" tek bir CPU.

@ChrisW: sabit.
Joel Coehoorn

CPU kullanım yüzdeleri her bir CPU için ayrı ayrı% 100'ün dışında bildirilir, bu nedenle çift çekirdekli bir sistemde kullanılacak toplam CPU gücü% 200, dört çekirdekli% 400 vb.
David Z

Windows görev yöneticisinde değiller.
Joel Coehoorn

11

Teknik olarak haklısın. Herhangi bir zamanda, CPU ya kullanılmakta ya da kullanılmamaktadır. Ancak bunu bir grafikte göstermek çok yararlı olmaz, bu nedenle grafik, muhtemelen her saniye, belirli bir süre boyunca CPU kullanımının ortalamasını alıyor.


3

İşletim sistemi süreci belirli bir süre için zamanlar. Bu nedenle, işlem 10ms'den 1ms için planlanmışsa,% 10 CPU kullanacaktır.

Biraz mantıksızdır, çünkü (tek iş parçacıklı, tek CPU sisteminde), işlem ya çalışıyor ya da çalışmıyor. yani% 100 veya% 0 kullanıyor. Gördüğünüz yüzde, bir zaman penceresi üzerinden ölçülür ve işlem için çalıştırılacak zaman aralıklarını ayıran işletim sisteminin bir ölçüsüdür.

G / Ç'ye erişiyorsanız işleminizin buna katkıda bulunmayacağını unutmayın. Dolayısıyla, büyük bir hesaplama yapıyorsanız,% 100 kayıt edersiniz (başka hiçbir şeyin çalışmadığını varsayarsak). Daha sonra bir ağ paketi / disk erişimi vb. İçin beklerseniz, işleminizin hala çalışmasına rağmen CPU rakamınız düşecektir.


2

Çok düşük bir seviyede, temelde haklısınız. Herhangi bir anda, işlemci ya belirli bir işlem için bir talimat yürütüyor ya da değil.

Ancak işletim sisteminiz, işlemleriniz ve işlemci arasında oturuyor ve bu da zamanı paylaşmalarını sağlıyor. Gördüğünüz yüzde, işletim sisteminin bu işlemi verdiği son işlem süresinin yüzdesidir.


1

Ortalama süreye bağlıdır. Tüm iş parçacıkları aynı CPU zamanına sahip olmasına rağmen (önceliğe göre), iş parçacıkları sadece "teşekkürler ama boştayım" diyebilir ve sıradaki iş parçacığına geçebilir. Bu nedenle programlar her zaman aynı% zamanını kullanmaz ve çoğu program% 0 CPU tüketir ve gerçekten CPU'ya ihtiyaç duyan programlar kendi başına% 100 zaman alabilir.

Neden% 50 ile kaplanıyor? Muhtemelen iki CPU çekirdeğiniz var ve sadece bir tane kullanıyor.

Ya da, önerildiği gibi, hiper iş parçacığı kullanıyor, ancak bunun tam olarak nasıl davrandığını bilmiyorum.


0

Program çok fazla G / Ç (disk veya ağ okuma / yazma) yapıyor olabilir. Bu programı meşgul edecek, ancak çok az veya hiç CPU zamanı gerektirmeyecek.


0

Sistem kullanımı örneklenir ve ortalaması alınır, bu da yapılacak tek mantıklı şeydir.

Örneğin, bir işlemin / iş parçacığının 1 saniye boyunca çalışmak için ne kadar zaman harcandığının kaydı tutulur. CPU'da 1 saniye geçtiyse, bu% 100 CPU'dur (veya 2 CPU'nuz varsa% 50), 100 ms harcadıysa% 10 CPU kullanımıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.