Sanal Kutu çalıştırılırken CPU kullanımı nasıl azaltılır?


12

VirtualBox'ı çalıştırırken sistemim altında% 100 CPU kullanımıyla ilgili bir sorunla karşılaşıyorum. İşte bazı ayrıntılar:

Sistem Bilgilerim:

CPU 1 adı: Intel (R) Pentium (R) Çift CPU T2310 @ 1.46GHz
CPU 1 seviye 1 önbellek boyutu: 32K Veri önbelleği. 32K Komut önbelleği.

CPU 1 seviye 2 önbellek boyutu: 1024K Birleştirilmiş önbellek.
CPU 1 Mips: 2926.20
CPU 2 adı: Intel (R) Pentium (R) Çift CPU T2310 @ 1.46GHz
CPU 2 seviye 1 önbellek boyutu: 32K Veri önbelleği. 32K Komut önbelleği.

CPU 2 düzey 2 önbellek boyutu: 1024K Birleştirilmiş önbellek.

CPU 2 Mips: 2925.96
64 bit CPU? Evet!
Toplam bellek: 2,0 GB
Toplam takas: 6141 MBytes


İşletim Sistemi Bilgilerim:

Kubuntu OS sürümü: 11.04
Çekirdek sürümü: 2.6.38-8-jenerik
Çekirdek arch: i686
Varsayılan kabuk: / bin / bash


Sanal Kutu Ayarlarım:

İşletim Sistemi Türü: Windows XP
Video Belleği: 32 MB
Hızlanma: 3D
Temel Bellek: 512 MB

Sorun Ayrıntıları:

VirtualBox'ımdan Windows XP'yi her çalıştırışımda CPU kullanımını neredeyse% 100 olarak görüyorum. Barındırılan Windows XP sürümümde hiç program çalışmıyor olsa bile yavaş bir sistemle karşılaşıyorum.

Performansı biraz artırabilmem için ayarlarla oynamanın bir yolu olup olmadığını merak ediyordum. Bilgisayarım Linux işletim sistemim altında nispeten hızlı. Ben daha iyi sonuçlar elde edebilirsiniz böylece benim VirtualBox ayarlarını yapılandırırken takip edebilirsiniz bazı ipuçları olup olmadığını bilmek gerekir.

Herhangi bir öneri / fikir çok takdir!


Yani VM'niz yavaş mı çalışıyor yoksa sisteminiz tamamen mi çalışıyor? Sahip CPU olan oldukça zayıf - Eğer VM çalıştırdığınızda o% 100'e ne kadar acaba olmaz bu yüzden.
slhck

CPU yavaş, ancak Athlon XP 2800+ üzerinde SUSE ana bilgisayarında XP'yi sorunsuz ve 2 GIB RAM ile çalıştırıyorum ve bu sistem benimkinden çok daha hızlı. VirtualBox ve XP'yi nötr olarak sorunsuz çalıştırabilmelidir. Ayrıca ilgili bilgisayar özelliklerinin güzel listesi için +1.
AndrejaKo

Aynı bilgisayardaki birçok işletim sisteminde aynı sorunla karşılaşıyorum. Daha önce Linux Mint, Ubuntu, Slax, Fedora kullandım ve CPU kullanımı ile benzer sorunlarla karşılaştığım her şey. Ancak, ben benim VM ayarlarını "düzgün" tweak olabilir, i "biraz" performansını artırmak mümkün olabilir inanıyorum.
CompilingCyborg

Şu anda kullanıyorum geçici çözüm, her 10 saniyede bir ücretsiz pagecache, dentries ve inode için bir bash komutu çalıştıran sonsuz bir döngüdür. Benim VM yapmak için uygun bir yol değil, bir "hack" olsa bu garip tekniği kullanmayı düşündükten sonra biraz nefes alabildi.
CompilingCyborg

1
Ne yazık ki T2310, VT-x ( ark.intel.com/Product.aspx?id=32431 ) Sanallaştırma uzantılarından yoksundur ve sonuç olarak Virtualbox, konukun yapacağı tüm yüksek ayrıcalıklı cpu çağrılarını yakalamak için yazılım kullanacaktır. Virtualbox, konuk işletim sistemine hitap etmek için daha fazla CPU gücü kullanacaktır. Ayrıca konuk OS 1GB RAM vermenin daha iyi boşta yardımcı olup olmayacağını merak ediyorum, çünkü Virtualbox-host-pahalı sayfa hatalarını sık sık yapmaya gerek kalmayacak ...
Mokubai

Yanıtlar:


5

Yukarıdaki yorumumla ilgili olarak, http://ark.intel.com/Product.aspx?id=32431 adresindeki CPU veri sayfanıza göre Sanallaştırma uzantıları (VT-x) bulunmuyor

Gönderen bu Wikipedia makalesinde , bu nedenle VM (ve ana bilgisayardaki CPU kullanımı artış performansında ölçülebilir bir bozulmaya neden olacak üç temel şey vardır:

  • İkili çeviri, POPF gibi, sessizce başarısız olacak veya 0 halkasının üzerinde yürütüldüğünde klasik tuzak taklit sanallaştırmayı imkansız kılan farklı talimatları yeniden yazmak için kullanılır. Performansı artırmak için, çevrilen temel blokların kod yamalamasını (örneğin VxD'lerde kullanılır), sayfaların konuk işletim sistemi tarafından yeniden kullanımını veya hatta kendini değiştiren kodu algılayan tutarlı bir şekilde önbelleğe alınması gerekir.

  • Bir işlemci tarafından kullanılan bazı önemli veri yapılarının gölgelenmesi gerekir. Çoğu işletim sistemi disk belleği olan sanal bellek kullandığından ve konuk işletim sistemine MMU'ya doğrudan erişim izni vermek sanallaştırma yöneticisi tarafından kontrol kaybı anlamına geleceğinden, x86 MMU'nun bazı işlerinin konuk OS için bir teknik kullanılarak yazılımda çoğaltılması gerekir gölge sayfa tabloları olarak bilinir. Bu, konuk işletim sistemine erişim denemelerini yakalayarak ve bunun yerine yazılımda taklit ederek gerçek sayfa tablosu girişlerine herhangi bir erişimi reddetmeyi içerir.

  • G / Ç aygıt öykünmesi: Konuk işletim sistemindeki desteklenmeyen aygıtların, ana işletim sisteminde çalışan bir aygıt öykünücüsü tarafından taklit edilmesi gerekir.

Konuk işletim sistemi, gerekli olan ayrıcalıklı yönergelerin kullanılmasını gerektiren işlemler için büyük bir kulak misafiri vardır ve tipik olarak bu genel giderler, Intels VT-x ve AMD'nin AMD-V sanallaştırma uzantılarının kullanımı ile büyük ölçüde azaltılır. İşlemcinizde bu uzantılar yoktur ve bu nedenle tüm yakalama ve öykünme işleri bazı performans kayıplarına neden olur.

Tavsiyelerim şöyle olurdu:

  • Sanal makineye, iş yüklerinize bağlı olarak, belki de 1GB veya daha fazla yapılması gereken sayfalama miktarını en aza indirgemek için ihtiyaç duyduğu kadar bellek vermek.

  • 3D hızlandırmayı devre dışı bırakın, çünkü 3D sürücüye yapılan tüm çağrıların öykünme katmanından geçmesi gerekebilir ve bu nedenle işlemcinizde pahalı olabilir.

  • Konuk işletim sisteminiz için Virtualbox Guest Additions'ı kurun, çünkü bunlar sanal ortamı daha iyi destekleyen sürücüleri kullanacaktır.

  • Konuk işletim sisteminizdeki ekran çözünürlüğünü ve grafik seçeneklerini azaltın.

  • Ağa (internet) erişimi makul bir seviyede tutun, ağa bağlı sanal makineler VT-x ile bile pahalıdır ve işlemciniz tarafından da desteklenmeyen VT-d'den (Yönlendirilmiş G / Ç için Sanallaştırma Teknolojisi) faydalanır.


2

Cevabım, sadece soru başlığı ile ilgilidir, sorunun diğer metni ile değil. Vurgu, daha fazla sanal konukla boş CPU kullanımı üzerinedir: (ana bilgisayarda yeterli boş bellek).

audiodg.exeVirtualBox çalıştırılırken Windows ana bilgisayarındaki işlemin neden olduğu CPU kullanımı , boşta kalan misafirin yükünden daha yüksektir. Ses sekmesindeki Virtualbox konuk ayarlarında Ses onay kutusunu devre dışı bırakarak kolayca azaltılabilir veya tamamen çıkarılabilir . (Sadece kapalı makine üzerinde devre dışı bırakılabilir.)

Audiodg.exe işlemi bir konuk için yaklaşık% 5 CPU tüketir, ancak kaynak düzenleme gibi tipik boşta kalma etkinlikleri sırasında dizüstü bilgisayara önemli bir yük getirir ve CPU frekansı (% 80'den% 40'a düşürme), fan hızı üzerinde büyük bir etkiye sahiptir. ve pil ömrü dizüstü bilgisayar. Çalışan sanal makinelerimin çoğu genellikle sese veya sadece bazen ihtiyaç duymaz. (Konuk işletim sistemindeki sesi devre dışı bırakmanın hiçbir etkisi olmamıştır, sanal makineyi duraklatmaz, ancak sanal kutu konuk ayarları önemlidir.)

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.