Çok fazla bellek kullanılıyor


13

Bir süredir bu şekilde hissediyordum, görev yöneticisine zihinsel olarak ne kadar fiziksel belleğin kullanılması gerektiğine bakınca büyük bir eşitsizlik fark ettim. Sonunda onu ölçmeye geldim. Görev listesinin sonuçlarını almak ve eklemek, yaklaşık 3.87 GB verdi. Görev yöneticisi 4.6 GB bellek kullandığımı söyledi. Bu büyük bir eşitsizlik gibi görünüyor. O nereye gitti?

DÜZENLEME: Yani açık, önceden getirmeyecek. Ayrıca işletim sisteminin bir parçası olduğu, ancak hiçbir sistem işleminin bir parçası olmadığı ileri sürülmüştür. Bu doğruysa, lütfen işletim sisteminin bana ne kadar bellek kullanıldığını söylemesini sağlamanın bir yolunu bulun. Hafızanın nereye gittiğini öğrenmek istediğimden, farka bakmamı istemek benim için hiçbir şey yapmıyor.

DÜZENLEME 2: Aşağıdaki değildir:

  1. Çekirdek
  2. Önbellek
  3. Donanım için ayrılmış bellek

Alınan kaynakların resmi. Ne yapacağından emin değilim ama ... resim açıklamasını buraya girin


Hangi işletim sistemini kullanıyorsunuz? Daha fazla bilgi ile daha iyi cevaplar alacaksınız :)
Cam Jackson

Özür Yeni etiket :) bkz
soandos

@soandos: Süper getirmeyi devre dışı bırakmayı ve yeniden başlatmayı denediniz mi? Bir fark yaratır mı?
user541686

Evet yaptım ve hayır olmadı, yine de ne kadar bellek prefetch kadar yer kapladığını bilmek güzel olurdu.
soandos

2
Prefetch bellek KULLANMAYIN, derlenen uygulamalardan en çok kullanılan bayt kodunu önbelleğe alır. Devre dışı bırakmayın, aksi takdirde sistem performansınız büyük ölçüde düşecektir.
Atılım

Yanıtlar:


5

Sysinternals Suite'i Microsoft'tan indirmenizi öneririm . Size Görev Yöneticisi'nden daha fazla bilgi verecek çeşitli yardımcı programlar içerir. İşlem Gezgini, RAMMap, VMMap ve İşlem Monitörü yardımcı programlarına göz atın. Onlardan en fazla bilgiyi almak için, görüntülenecek bilgileri değiştirmek üzere bazı yapılandırmalar yapmanız gerekebilir.

Ayrıca, Windows belleği ile ilgilendiğiniz için , Sysinternals geliştiricisi / kurucusundan Mark Russinovich'in bir dizi blog yazısı . Yardımcı programların sağladığı bilgileri anlamaya yardımcı olacaktır.


RAMMap bana görev yöneticisinin toplam ram kullanımını yaklaşık 100MB fazla abarttığını söylüyor, ancak görev listesini kullanarak çekebileceğim bellek listesine göre RAMMap da yaklaşık 200MB abartıyor (görev listesi +200 = RAMMap, RAMMap + 100 = taskmanger)
soandos

1
Ne gördüğünüzden emin değilim ve içine bakmak için bir Windows makine atminde değilim. Ancak, daha derine inmek istiyorsanız, Sysinternals forumlarına sorun. Orada çok akıllı insanlar var Windows içine çok "içine". Windows bellek yönetiminin daha ince noktalarına daha aşina olacaklar.
Joe Internet

Gelecekte başvurmak üzere, Mark Russinovich'in TechEd 2011 Windows bellek yönetimi üzerine konuşması: channel9.msdn.com/Events/TechEd/NorthAmerica/…
Joe Internet

Bu "cevap", kabul edilmesine rağmen, soruyu cevaplamaz! Sadece araştırma için araçlar ve okuma önermektedir.
Jamie Hanrahan

8

Windows 7, işlerin daha hızlı çalışmasını sağlamak için şeylerin önbelleğe alınması için 'kullanılmayan' bellek kullanır. Eğer bu belleğe ihtiyacınız olursa, boşaltılacak.

Bu bir özellik, bir hata değil;)

Gönderen technet

Bir süre Windows Vista sistemi kullandıktan sonra, Görev Yöneticisi'nin Performans sayfasında Serbest Fiziksel Bellek sayacı için düşük bir sayı göreceksiniz. Çünkü SuperFetch ve standart Windows önbellekleme, disk verilerini önbelleğe almak için mevcut tüm fiziksel belleği kullanır. Örneğin, ilk önyükleme yaptığınızda, Görev Yöneticisi'ni hemen çalıştırırsanız Önbellek Belleği sayısı arttıkça Boş Bellek değerinin azaldığını fark etmelisiniz. Ya da, belleğe aç bir program çalıştırırsanız ve sonra çıkarsanız (büyük miktarda bellek ayıran ve daha sonra belleği serbest bırakan ücretsiz “RAM optimize edicilerinden herhangi biri) çalışır veya çok büyük bir dosyayı kopyalarsanız, Ücretsiz sayı sistem ayrılan belleği geri kazandıkça Fiziksel Bellek Kullanımı grafiği düşecektir. Bununla birlikte, zamanla, SuperFetch önbelleği bellekte zorlanan verilerle yeniden doldurur,


1
1) öyleyse neden bu işlemin hafızasında listelenmiyor? 2) Burada durumun nasıl olduğunu nasıl bilebilirim?
soandos

superfetch svchost altında olduğuna inanıyorum. Çekirdek belleği olarak sayılabilir. Kontrol etmek için süper getirmeyi açmayı ve kapatmayı deneyebilirsiniz.
Journeyman Geek

Hiçbir şey yapmadı.
soandos

Superfetch tarafından kullanılan bellek Bekleme sayfası listesindedir ve "Kullanılabilir" in bir parçası olarak sayılır. "Kullanımda" olarak sayılmaz, çünkü Bekleme listesindeki diğer her şey ve Serbest ve Sıfır listesindeki her şey gibi yeniden kullanılabilir (Bekleme listesinden çıkarılabilir ve bir sürece dahil edilebilir).
Jamie Hanrahan

5

Gördüğünüz sayılar tamamen kesin değildir ve yalnızca gösterge olarak alınmalıdır.

Bir işletim sistemi son derece karmaşık bir varlıktır ve Görev Yöneticisi gibi basit fikirli bir program hiçbir zaman tüm kullanımı tamamlayamaz, bunun birçoğuna çalıştığı Kullanıcı modunda erişilemez. Erişilemeyen veya herhangi bir "göreve" atfedilmesi imkansız olan unsurlardan bazıları, donanım segmentasyon tabloları, paylaşılan bellek ayırmaları, çekirdeğe ayrılmış bellek, sayfa belleği ayırmaları, cihaz belleği ve daha pek çok şeydir.

Görev Yöneticisi'nin Performans sekmesini nasıl yorumlayabilirim? Bölümünde daha fazla açıklama bulacaksınız. , ama bu kısmı alıntılamayı seçiyorum:

Yine de kendisine "Görev Yöneticisi" adını veren bir programdan ne bekliyorsunuz? İşletim sistemi çekirdeğinde "görev" diye bir şey yoktur - işletim sisteminin "süreçleri" ve "iş parçacıkları" vardır. DOS'un "görevleri" vardı. Intel donanımının "görev" yapıları vardır, ancak işletim sistemi bunları kullanmaz, çünkü bunu kendisi için daha hızlıdır.

Görev Yöneticisi çok eski bir Windows programıdır, işlevlerin hizmetlere bağlanması konusunda bile sorunları vardır ve gösterdiği rakamlar büyük bir tutam tuzla alınmalıdır. Büyük bir bellek alanında herhangi bir "göreve" saymayı ya da bu göreve atfetmeyi başaramadığı muhtemelen eksiktir.


Bunu anlamak için hangi programı kullanmalıyım? PS Görev yöneticisi, listelenen çekirdek belleğine sahip.
soandos

1
Size TÜM bilgileri verecek tek bir program yok. Görev Yöneticisi bazı bilgiler ve bir yaklaşım verecektir, Aygıt Yöneticisi cihaz belleği, WinObj bellek nesneleri hakkında bilgi verebilir . En iyi kaynak, aslında Görev Yöneticisi'nin modern bir yedeği olan Görev Yöneticisi'nin (ve başka yerlerde) Performans sekmesinden çağrılan Kaynak İzleyicisi'dir.
harrymc

Kaynak yöneticisi, Görev yöneticisinin 15'inde bir sayı verir.
soandos

Bunlar, Windows arayüzünden alabileceğiniz tek sayıya benziyor. Kesin değiller, ama hiçbir şeyden çok daha iyi. Sorun giderme için kullanılabilirler (çok şey yaparım), ancak her şeyi içermelerini beklemeyin.
harrymc

Görev Yöneticisi'nin "çok eski bir Windows programı" olduğu düşüncesi saçmadır. İşletim sisteminin her sürümünde olduğu gibi her şey gibi güncellenir. "Alabileceğiniz tek sayılar" söz konusu olduğunda, Performans İzleyicisi'ni kullanmadınız mı?
Jamie Hanrahan

3

Fark etmiş olabileceğiniz gibi, Görev Yöneticisi size çoğu uygulamanın sisteminizi nasıl etkilediğinin basitleştirilmiş bir görüntüsünü verebilir, ancak istenen çok şey bırakabilir. Gerçekten RAM vb önbellekleri içine kazmak istiyorsanız, Performans Monitör girmeniz gerekir. Sisteminizi izlemek için sistem sayaçları kümenizi oluşturmanız biraz zaman alacaktır.

Compmgmt.msc dosyasını çalıştırarak veya "bilgisayar yönetimi" için bir Windows araması yaparak oraya gidebilirsiniz ve sol tarafta, genişletip içine girebileceğiniz bir performans ağacı göreceksiniz.

Mevcut araçlardan bazıları için bir referans: http://technet.microsoft.com/en-us/library/cc749249.aspx


Çok güzel bir araç olduğunu görürken, bir çok şey yapabilir (hafıza altında bir ton sayaç olduğu gerçeği ile kanıtlandığı gibi, aradığım şey hakkında sıfır fikrim var. Herhangi bir fikir?
soandos

Buna ek olarak, sayaç ekle seçeneği ekranıma yapıştırma eğilimindedir ve düzeltmek için çözünürlüğü manuel olarak ileri geri değiştirmek zorundayım (yenileme çalışmıyor). Senin hatan değil biliyorum.
soandos

3

Bellek muhtemelen çekirdek için kullanılıyor. Process Explorer'ı kullanarak sistem belleğinin çok daha ayrıntılı bir dökümünü görebiliriz:

Çekirdek Bellek Bilgisi

Burada çekirdek tarafından kullanılan bellek miktarını vurguladım, ki bu Disk belleği WS + Disk belleği olmayan veya kabaca ~ 300 MB bellek. Bu, sadece webbrowser ve birkaç diğer uygulama açıkken yeni başlayan bir sistemde, ağır yük altında ev sistemim kolayca 500MB veya 700MB çekirdek belleğini kırıyor.


Ona baktım ve bu yeterli değil. Yine de teşekkürler.
soandos

İşlem ve Fiziksel Bellek numaraları arasındaki farkı mı soruyorsunuz?
Darth Android

Hayır, bana aynı sayıları alması gereken farklı araçlar çalıştırdığımda neden farklı sayılar elde ettiğimi soruyorum.
soandos

2

@soandos, videonun ne kadar bellek çektiğini dikkate aldınız mı? Videonun .73 GB RAM çekmesi çok olası. Bu makinede iyi bir ekran kartınız var mı? Değilse, böyle RAM kullanır (bildiğim kadarıyla). Eğer yanılıyorsam, lütfen biri buraya girer, ama bunun RAM'den çekilen videonun etkisi olabileceğine inanıyorum.


Bir Nvidia GTS 360M var. Harika bir ekran kartı değil, ancak bir GB belleği var.
soandos

Hangi çözünürlükle hangi çözünürlüğü kullanıyorsunuz? Ayrıca, 1080p'de oyun oynamak gibi video yoğun görevler mi yapıyorsunuz? Ve ne tür RAM kullanıyorsunuz (örn. DDR1, DDR2, DDR3, DDR5)? Kendime bakardım, ama birinin ekran kartı modeliyle denedim ve birkaç farklı RAM türü ile yaptıklarını fark ettim ...
David

Standart bilgisayar, 1920x1080, hiçbir fikrim yok. Bunu ölçmenin bir yolu var mı?
soandos

Normalde ambalajda söyleyecektir, emin değilim. Tam kart modelini biliyorsanız, internette öğrenebilirsiniz. Çok güçlü bir ekran kartı değilse (DDR2, DDR1 kullanarak) ve büyük bir monitörle 1920x1080 kullanıyorsanız (örneğin, monitörüm olarak Samsung 46 "TOC TV kullanıyorum), videoda çok fazla bellek var ... Videonuzun ne kadar RAM harcadığını görmenin bir yolu olup olmadığından emin değilim.Şu anda üzerinde biraz araştırma yapacağım. Sana olabildiğince yardım etmek istiyorum
David

Şu anda aradığımız şeye sahip olup olmadığını görmek için bu programı kontrol ediyorum . SiSoftware Sandra Lite 2011.2.17.47'dir. Açıklamada, videonun ne kadar RAM tükettiği gibi aradığımızı yaptığı belirtiliyor.
David

1

Gördüğüm fark, araçların kullanılan belleği görememesi değil, farklı ölçüm biçimlerinden kaynaklanıyor. Bunu çok iyi açıklayamam ama neyse ki , Sysinternals şöhretinden Mark Russinovich , Windows'daki süreç performansı ile ilgili çok iyi bir dizi mesaj yazdı. Fiziksel bellek ve sanal bellek hakkındaki bölümler ne gördüğünüzü açıklamalıdır.


Hayır, sorun bu değil. Toplam miktarın depolandığı yerden (RAM veya HD) daha fazla endişeliyim.
soandos

0

Sanırım çözdüm!

RAMMap ile ilgili bir ipucu buldum ve µTorrent olduğu ortaya çıktı!

utorrent.exeKendisi değil , µTorrent tarafından paylaşılan dosyalar - en azından benim durumumda: dosyalardan biri 600 MB ve diğeri 200 MB, vb.


-1

Bazı bellekler önbellek olarak kullanılır. Bu belleğe ihtiyacınız olduğu anda otomatik olarak serbest bırakılır. Yani endişelenmenize gerek yok.


-1 önbellek değildir, çünkü 1) ayrı sayılır, 2) kolayca hesaplanır.
soandos
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.