Windows gorev yoneticisinde % olarak CPU kullaniminin anlami

Başlatan bunalmis, 26 Haziran 2010, 14:40:30

z

Windows gorev yoneticisinde CPU kullaniminin %20 olmasi ne anlama gelmektedir?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Sayisiz kere goz attiginiz hatta Isis kullanirken % bilmem ne oldu dediginiz CPU kullanim miktarinin ne anlama geldigini
bilen yokmu?

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

camby


z

Cok ciddi bir soru.

Bu gune kadar uzerinde fazla durmamistim. Fakat bazi sorunlar yasamaya baslayinca bunun tam olarak ne anlama geldigini bilmedigimi
dusunmeye basladim.

O yuzden soruyorum.

Sizde islemcili bir devre yapip LCD ekraninda islemcinizin % kullanim degerini gostermek isteseydiniz ne yapardiniz?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

camby

% CPU kullanım miktarı : Bir çevrim süresinde yada birim sürede , ( yapılmakta olan işlem sayısı / yapılabilecek işlem sayısı )   X 100 
diyorum ben ozmn : )

Yapılması gereken işlem sayısı , yapılabilecek işlem sayısının üzerinde olunca da kasıyor ( gecikiyor ) , bknz(yavaş çalışan ISIS simülasyonları)

Acıkcası birkaç gündür benimde kafamı kurcalıyor bu dediğin şeyin aynısı , ama mikroişlemci mimarisi bilmediğim için sadece MCU bildiğim için fikir yürütemiyorum. Daha doğrusu fikir yürütüyorum açıklayamıyorum

Ama pic üzerinden aynı şeyi yapmaya çalışırsam şu şekilde yaparım :
Birim sürede , mesela 1 saniye  , [ (1sn- Sleepte kalma süresi) / 1sn ] X 100 , hatta bu işlem cycle hesabı ile yapılırsa daha iyi olur.

Birden fazla ALU'i olan başka bir MCU için kabaca direk :  ( kullanılmakta olan ALU sayısı / toplam ALU sayısı ) X 100 yazarım

neyse çok konuştum meydanı mikroişlemcicilere bırakayım: )

controller

CPU kullanım oranı tam olarak doğru bir tanımlama değil. CPU herzaman %100 olarak kullanılır. Bu %100 lük oran task (görev) lar arasında işletim sistemi tarafından paylaştırılır. Görev yöneticisinde görünen değer o task'ın cpu zamanının ne kadarını kullandığını gösterir. Dolayısıyla multitasking çalışmayan bir sistemde CPU kullanımından bahsedilemez.

Hesabım OG tarafından haksız bir şekilde pasif yapılmıştır.

z

Görev yoneticisinde performans  başlığında CPU kullanımına ilişkin grafiksel raporların verildiği bölümde tasklardan bahsedilmiyorki.

Benim yazılımlarım daima bir ana dönüye sahip oluyor ve ana döngünün akış süresi timer ile hep sabit tutuluyor.

Örneğin döngü sürem 20mikro saniye ise, döngü içerisinde işlemler yapılıyor diyelimki 15mikrosaniye tüm hesap kitap bitti. Bu durumda aylak bir döngüye girip Timerın hadi 20mikro saniye doldu yeni döngüye başla denmesi bekleniyor.

Bu durumda % CPU kullanımım 1500/20 den %75 çıkacak.


Bana e^st de diyebilirsiniz.   www.cncdesigner.com

controller

Bahsettiğim yer Performans değil, İşlemler tabı. Bu tabda her işlemin cpu kullanım zamanı ayrı olarak gösteriliyor. Idle (sistem boşta işlemi) dahil. Performans kısmında gördüğünüz değer işlem bazında değil, toplam cpu kullanım zamanından idle (sistem boşta işlemi) kullanım zamanının çıkartılmış halidir.
Hesabım OG tarafından haksız bir şekilde pasif yapılmıştır.

z

Ne yalan söyleyeyim ben hiç oradaki % cpu kullanımına bakmadım hep grafiksel raporlama yapılan bölüme bakıyorum.

Bir yukarıdaki mesajımda yaptığım hesap doğru görünüyor gibi ne dersiniz?

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

orhanc

i'm doing nothing... Giddy Up  http://www.drorhan.com

controller

Öncelikle pc de çalışan bir yazılım veya mikrodenetleyici üzerinde örneğin rtos gibi bir işletim sistemi ile çalışan yazılımdan bahsediyoruz değil mi?

Çünkü mikrodenetleyicide rtos gibi işletim sistemi olmadan yani task'lere bölünmeden yazılan salt kodun cpu kullanımından bahsedilemez. CPU kullanımı herzaman %100 dür. Çünkü yapılacak tek görev (task) vardır. Buda cpu nun %100 zamanını harcar.

Buradan da anlaşılacağı üzere, cpu kullanımı işlemin kendi içinde nekadar zaman harcadığı ile ilgili değil, işletim sistemi tarafından sürekli switch edilen işlemler arasında ne kadar cpu zamanını kullandığı ile ilgilidir.

Buna göre bildiğim kadarıyla yukarıda yaptığınız hesap doğru değil. Kendi yazdığınız programın kendi cpu kullanım süresini hesaplayıp yazdıramazsınız. Bu işi işletim sistemi yapar. Ancak bazı API ler ile cpu kullanımını işletim sisteminden alabilirsiniz.

Hesabım OG tarafından haksız bir şekilde pasif yapılmıştır.

z

Orneğime dikkat ederseniz işlemci gücünün %100 ünü kullanmadığımı göreceksiniz.

Bahsettiğim örnek yazılım Pc de yada üzerinde işletim sistemi yüklü bir işlemci de koşmuyor.

Eğer işlemcim bir döngülük görevi 20 mikrosaniyeden çok daha önce işini bitirirse % CPU kullanım eğeri düşüyor. 20 mikrosaniyede bitirirse %100 oluyor.

Eğer hiç aylak döngüye giremiyorsa bu durumda işlemci bu projeyi kaldıramayacak kadar yavaş anlamı çıkıyor.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

orhanc

işlemci eski mi ? test programları haricinde işlemcinin %100 olduğunu hiç görmedim üstelik o kadar program çalışıyor pc de
i'm doing nothing... Giddy Up  http://www.drorhan.com

controller

Konuyu açık bir şekilde izah ettiğimi düşünüyorum. Sizin yaptığınız hesap ile, konu başlığında kullandığınız "Windows gorev yoneticisinde % olarak CPU kullaniminin anlami" aynı şeyler değil.
Hesabım OG tarafından haksız bir şekilde pasif yapılmıştır.

z

Laf lafı açtı diye öyle oldu.

Siz multi tasking yada RTOS yoksa işlemci gücünden sözedemeyiz %100 işlemci gücü kullanılır diyince ben de kendi örneğimi vermek zorunda kaldım.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com