CPU kullanımı ve RAM arasındaki ilişki nedir?


21

CPU kullanımının% 100 olduğunu ve RAM'in sadece% 50'sinin kullanımda olduğunu birçok kez gördüm. Bu ikisi arasındaki ilişki nedir? Birinin performansı diğerini nasıl etkiler?

Yanıtlar:


42

CPU bellekte bir şeyler işler (ekleme gibi şeyler hakkında talimatlar gerçekleştirir). RAM, bellek piramidinin sadece bir parçasıdır (aşağıya bakın). Bu nedenle, çok fazla veri işlerken , bu veriler (veya belki de büyük bölümleri) RAM'e yüklenir, bu nedenle cpu için hazırdır, bu, RAM'i depolama cihazlarından daha hızlı eriştiği için işleri hızlandırmaktır. Bu nedenle CPU kullanımı ve RAM genellikle ilişkilendirilebilir, ancak zorunlu değildir.

Bunun temel bir örneği bir görüntü düzenleme programı olabilir. 20MB jpeg'imi yüklüyorum, program tüm görüntüyü okuyor ve işletim sistemi bunu sizin için RAM'de tutuyor (tüm çalışan bellek programa aynı görünüyor, işletim sistemi disk veya RAM'deki sayfaya / takas dosyasına gidip gitmediğine karar veriyor ). Bu yüzden görüntü RAM'de işlenmeyi bekliyor, ancak programa aptalca filtre uygulamasını söylemeden önce kahve içiyorum, bu yüzden CPU hiçbir şey yapmıyor: yüksek RAM düşük CPU.

Geri dönüyorum, görüntüye biraz kabarcık eklemek için filtreyi uyguluyorum ve CPU% 100'e gidiyor ve önceden işlenmiş görüntüyü bellekte tuttuğu için daha da fazla bellek kullanılıyor, böylece yeni yaptığım değişikliği geri alabilirim. Yüksek RAM, yüksek CPU.

Program baloncukları eklemeyi bitirdiğinde, CPU düşer, ancak belki de hafıza değildir.

Tabii ki, bu kadar basit değil :-)

Bellek Piramidi resmi


sanal RAM nedir?
Ooker

@Ooker: Sanırım sanal bellek demek mi?
kailash19

24

Beynin bir kitapla olanla aynı ilişki. Daha hızlı beyin = okudukça daha hızlı, kitap daha büyük = daha fazla sayfa içerebilir.


2
Oohh ... güzel benzetme!
MikeyB

Ve kitaplık daimi depolama. Mmmmmmm güzel.
Charles Watson

Güzel açıklama :)
Jai

10

RAM, verileri kaydetmek için kullanılır. CPU zamanı verileri işlemek için kullanılır.

CPU ve bellek kullanımı arasında bir ilişki yoktur. Bir işlem bir sistemin tüm CPU'larını işgal edebilir, ancak yalnızca minimum miktarda bellek kullanır. Ayrıca, bir işlem bir sistemde bulunan tüm belleği ayırabilir, ancak yalnızca minimum CPU zamanı kullanır. Yani ikisi arasında bir ilişki yok.


5

İkisi arasında tutarlı bir ilişki yoktur. CPU kullanımı, uygulama tarafından yapılması gereken işleme veya çalışmaya bağlıdır. RAM, uygulamayı çalışırken ne kadar alan / bellek tutması gerektiğidir.

Daha fazla RAM = aynı anda daha fazla uygulama çalıştırabilirsiniz

Daha fazla CPU = daha karmaşık hesaplamalar / işlemler yapabilirsiniz

Umarım yardımcı olur.



1

İlişki yok. Bunu ağır hizmet tipi çıtırtılar açısından düşünün. RAM, daha hızlı erişim için bu sayıların kaçının depolanabildiğini, CPU ise bu sayıların ne kadar hızlı gerçekleştirildiğini matematiksel işlemlerle gerçekleştirebilir.

Birinin diğerini nasıl etkilediğine bakalım, yavaş bir CPU'nuz ancak çok fazla RAM'iniz olduğunu varsayalım. Bu, bu sayıların çok azını bellekte saklayabileceğiniz anlamına gelir - yaklaşık yarım milyar tanesi tipik bir 32 bit makinede. Ancak bu sayılardaki işlem / hesaplama / vb. Daha yavaş olacaktır.

Öte yandan, hızlı bir CPU'nuz varsa ancak az miktarda RAM'iniz varsa, sayıların işlenmesi hızlı olacaktır, ancak zaman zaman makinenin diskten sürüklemesi gerekecektir (ve daha fazlasına yer açmak için tekrar geri koyun ), RAM'den almaktan çok daha yavaştır.

Gerçekten, her biri diğerini etkiler ve en iyi performans için her ikisinin de iyi olması gerekir. Bununla birlikte, bu tamamen her uygulamanın gerçekte ne yaptığına bağlıdır ve şimdilik çok fazla ayrıntıya girmemiz gerekmeyen, ancak farkında olmanız gereken diğer faktörler (disk hızı, işlemci önbellekleri vb.) işleri karmaşık hale getirir.

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.