Sanal Makine belleği kullanımı TaskManager'da görünmüyor


28

Windows bellek yönetimi hakkında bir şeyler var ve TaskManager ile anlamadığım ve birinin beni aydınlatabileceğini umuyorum.

Sanal bir makine çalıştırıyorsam (aynı şekilde davrandıklarından Sanal PC 2007, Virtual Server 2005 veya VirtualBox olması farketmez) ve TaskManager'ı getirin. İşlemler sekmesinde VM için bazı girişler görebiliyorum. bellek değerleri oldukça küçüktür (yaklaşık 30 MB). Açıkçası, VM tarafından gerçekten tüketilen hafızayı içermiyor. Görünür hale getirebileceğiniz çeşitli Belleğe ilişkin sütunların hiçbiri farklı görünmüyor. Performans sekmesindeki Bellek kullanımı, VM dahil toplam bellek kullanımı için doğru görünmektedir.

Öyleyse sorum şu: Neden VM'nin bellek kullanımı (100 MB olacak) İşlemler sekmesinde görünmüyor?

Yanıtlar:


30

VirtualPC, HyperV ve muhtemelen benzer ürünler, Sürücü Kilitli Bellek adı verilen ve İşlem Gezgini'nde, Görev Yöneticisi'nde vb. Görülemeyen bir şey kullanır . RAMMap , sürücü tarafından kullanılan bir işlem tarafından kullanılan kilitli belleği gösterir.


1
Kayıt için RAMMap yalnızca Vista veya daha yüksektir.
Tim Abell

1
RAMMap, bir işlem için kilitli bellek göstermedi, toplam kilitli bellek miktarını gösterdi
NeDark

Sadece başkalarına işaret etmek için, hafızanın kilitlendiğini söylemedi. Sürücünün hafızayı kilitlediğini söyledi . Dinamik bellek böyle çalışır. Hoşunuza gitmiyorsa veya uygulamanızla uğraştığını düşünüyorsanız, VM'yi dinamik yerine statik bellek için yapılandırabilirsiniz. Bazı java uygulamalar bir VM dinamik bellek kullanılırken statik belirleyerek, bunları, sorunları gördük aksaklık sabit .
John C,

Hangi süreci gerçekten bu bellek ayırıyor? SysInternals'ın VMMap'ini denedim ve doğru VBoxHeadless.exeişlemi seçtiğinizde (işlem ağaç dalında bir yaprak, yani başka bir çocuğu yoksa, bulmak için örneğin İşlem Gezgini'ni kullanabilirsiniz), "hafıza" kaybına uğradı Her iki altında görünür Özel bayt ve Çalışma kümesi bu sürecin (hatta süreci olsa Explorer hem değerleri için çok daha az gösteriyor). Bu yüzden neden farklı değerler gösterdikleri konusunda kafam biraz karıştı ama VMMap gerçek rakamı gösteriyor gibi görünüyor .
Dawid Ferenczy Rogožan

6

Listede olanlar gibi barındırılan herhangi bir sanallaştırma sistemi, ana bilgisayar işletim sisteminin çekirdeğinde çalışan bir aygıt sürücüsü içerecektir. Kullanıcı modu programları sanal bir makine oluşturmak için gerekli talimatları veremediğinden bu gereklidir.

Görev yöneticisinde belleği görmemenizin nedeni, sanal makinelerle ilişkilendirilmiş olan kullanıcı modu programları için belleğe bakıyor olmanızdır; bellekleri gerçekte VM'lere tahsis eden çekirdek modu aygıt sürücüsü değil.


Hangi süreci gerçekten bu bellek ayırıyor? SysInternals'ın VMMap'ini denedim ve doğru VBoxHeadless.exeişlemi seçtiğinizde (işlem ağaç dalında bir yaprak, yani başka bir çocuğu yoksa, onu bulmak için örneğin İşlem Gezgini'ni kullanabilirsiniz), "hafızasını kaybetti" Her iki altında görünür Özel bayt ve Çalışma kümesi bu sürecin (hatta süreci olsa Explorer hem değerleri için çok daha az gösteriyor). Bu yüzden neden farklı değerler gösterdikleri konusunda kafam biraz karıştı ama VMMap gerçek rakamı gösteriyor gibi görünüyor .
Dawid Ferenczy Rogožan

5

Bir VM tarafından kullanılan bellek miktarını görüntülemek için, Görev Yöneticinizde Çalışma Kümesi sütununun göründüğünden emin olmanız gerekir. Genellikle sadece Özel Set görünür.

Bu sütunu etkinleştirmek için:

1) Görev Yöneticisini Başlat

2) İşlemler sekmesine gidin

3) Görünüm> Sütunları Seç

4) "Bellek - Çalışma Seti" nin işaretlendiğinden emin olun

Örneğin, şu anda çalıştığım VM'nin Özel Seti 43mb, Çalışma Grubu ise 2.3Gb


1
Tam miktarda bellek uygulaması kullanımı nedir? Çalışma seti + Özel set veya sadece Çalışma seti?
zendar

2
Belki de Windows'un farklı sürümlerinde farklıdır, ancak Windows 7'de gördüğüm şey bu değil. "Çalışma Kümesi" sayıları "Özel Çalışma Kümesi" sayılarından büyüktür, ancak VM'nin hafızasını hesaba katabilecek kadar uzaktan değildir. Hafızayla ilgili tüm sütunları denedim ama hiçbiri yapmadım. Bu, hem Windows Virtual PC hem de VirtualBox ile birlikte. Hangi Windows sürümünü ve hangi VM sunucusunu kullanıyorsunuz?
Scott Bussinger

Ne yazık ki, bir işlemin ne kadar hafıza kullandığını gösteren tek bir sayı yoktur, çünkü paylaşılan hafıza, dosya eşlemeli hafıza, disk belleği hafızası ve birkaç diğerleri gibi komplikasyonlara girersiniz. İşte birkaç kavramın iyi bir açıklaması: stackoverflow.com/questions/1984186/…
tylerl

Çalışma Setinin bu durumda size yararlı bir şey söylediğini sanmıyorum . Sanal Makine içerisinde, yaklaşık 6 GB bellek kullandığını rapor ederken, VirtualBox'ın işlemleri Çalışma Gruplarında 100 MB'den fazla tüketmiyor .
Dawid Ferenczy Rogožan
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.