Sanal Makine Performansı İçin 27 İpucu


Birden çok sistemi bir donanım altında kullanabildiğimiz sanal makine gözlemcilerinden daha yüksek verim alabilmek için gözden kaçırmamamız gereken birkaç ipucu var.




Yapabileceklerimizi, "barındırıcı" ve "misafir" şeklinde iki gruba ayırdım.

BARINDIRICI SİSTEMDE YAPILABİLECEKLER

DİĞER SANAL MAKİNE GÖZLEMCİLERİ

İsmine VMM denilen sanal makine gözlemcilerinin bilindik olanları VirtualBox, VMware Player, Virtual PC, QEMU, XEN, Parallels... Hangisi sizin ihtiyacınız için daha iyi çalışıyor buna siz karar verin.

UYGUN SEÇENEĞİN SEÇİLMESİ

Sanal sistemi oluştururken sanal sistemin ayarının o işletim sistemi için daha uygun olması amacıyla varsa doğrudan o sistemi, yoksa ona en yakın olan seçeneği seçmemiz önemlidir.

 Kuracağımız sistemin mimarisini mutlaka doğru olarak seçmeliyiz.

İHTİYACINIZ OLAN SİSTEMİ SEÇİN

Mesela Ubuntu'dan sunucu yapmak, Internet Explorer'ı kullanmak için Windows 8 kurmak desem sanırım anlaşılır. Çünkü pek çok dağıtım daha hızlı ve kararlı iken Windows XP de işinizi görecektir.
Peki nLite ile iyice kırpılmış XP?

 Ayrıca 64 bit barındırıcı sistemde sanal olarak çalıştıracağınız sistemin 64 bit olması avantaj olduğu gibi 32 bit sistemde 32 bit sanal sistem tercih edilmelidir.

SABİT DİSK

Sanal sistemi oluştururken sanal sabit diskimiz için iki seçenek önerilir. Değişken olarak ayrılan ve sabitlenmiş boyut.

 Değişken olarak ayrılan seçeneğinde bize birkaç saniye içinde bir sanal sabit disk oluşturur, sanal olarak ne kadar büyük olursa olsun gerçekte sadece bir kaç kb boyutundadır. Biz içine dosya ekledikçe gerçek boyutu da doluluk oranı kadar artar.

Ancak dosyanın boyutunun sonradan değişmesi gerçek sabit diskimizde parçalanmasına neden olur. Gerçek sabit diskimiz daha geç yanıt vermeye başlayınca sanal sabit diskimiz de bundan doğrudan etkilenir. SSDler için olmasa da HDDler için önemli derecede soruna yol açar.

 Sanal sabit disk oluştururken sabitlenmiş boyutu seçerek bu dosya parçalanması sorununun önüne geçip hem sanal hem gerçek sistemde daha iyi performans alabiliriz.

SABİT DİSK BİRLEŞTİRME

 Sanal sistemi oluşturduktan sonra barındırıcı HDDde oluşan GBlarca boyuttaki sanal sabit disk dosyasını birleştirirsek her iki makinenin de performansına olumlu etki yapacaktır.

Hatta HDDlerde bu sabit disk dosyasını diskin hızlı olan ön bölümüne almamız da yararlıdır.

YOĞUNLAŞTIRILMIŞ SANAL SABİT DİSK

 Sanal makineyi mesela 30 GB'lik olarak kurdunuz, ayarladınız, tıkır tıkır çalışıyor. Ve bir baktınız, 15 GB alan tutmuş, 15 GB boş. Bu durumda sabit diskinizin biraz daha hızlı yanıt vermesi için sanal sabit diskinizi yoğunlaştırabilirsiniz. Bu özellik VMware'da kullanımda. VirtualBox'ta mevcut olmasına karşın sadece komutla çalışıyor.

vboxmanage.exe <sabitdiskismi>.vdi –compact

diyerek sanal sabit diskinizdeki sıfırla dolu alanlardan kurtulabilirsiniz. Tabii sanal diskinizi doldurdukça tekrar parçalanma olacak ve bir üst maddeyi tekrar uygulayacaksınız.

AYRI SABİT DİSK

 Eğer bilgisayarınızın SATA girişlerine bağlı birden çok sabit diskiniz varsa sanal sisteminizin sabit disk dosyasını başka bir sabit diskten kullanabilirsiniz. Böylece sistemlerden birinde dosyalar üzerinde çalışıyorken diğer sistem bundan olumsuz etkilenmeyecektir.

 Harici sabit diskler ile bunu yapmak daha çok performans kaybına yol açar.

ANTİVİRÜS

 Barındırıcı sistemimizde kurulu olan antivirüs yazılımımız sanal sabit diskimizi barındıran GBlarca boyuttaki dosyayı taradığı zaman sanal sistemimizdeki virüsleri kesinlikle bulamaz. Yani tamamen boşu boşuna o büyüklükteki dosyayı taramış olur.

 Antivirüsünüzde tarama dışı, ayrıcalıklı, hariç vs türü seçeneğe bu dosyayı eklemeniz hem işlemci hem de sabit disk için yararlıdır.

YETERLİ RAM ALANI AYIRMAK

Sanal sistemimizin RAM olarak kullanacağı alanı seçerken ilk hesaplamamız gereken şey şüphesiz barınndırıcı makinemizin RAM miktarı. Eğer düşük RAM'e sahip isek kaçınılmaz olarak sanal sisteme de düşük alan ayırmamız gerekir.

 Ancak yeterli RAM'imiz varsa sanal sistemimizin ihtiyacı olan RAM miktarı ne kadar ise birazcık fazlasını vermemiz gerekir. Çok fazlasını vermek ise barındırıcı sistemimizde sorunlara yol açabilir. O işletim sisteminin sistem gereksinimlerine bakmak yararlı olacaktır.

 Çünkü düşük RAM ile çalışan sistemler RAM'de kendine yeterli alan bulamazsa sanal sabit diskteki takas alanını kullanmaya başlar ve hem misafir hem de barındırıcı sistemde çok ciddi performans sorunlarına yol açar.

DAHA ÇOK İŞLEMCİ ÇEKİRDEĞİ

 Sanal sistemimizin aynı anda daha fazla fiziksel işlemci çekirdeğinde çalışması performansa olumlu etki yapacaktır.

 Dikkat etmemiz gereken şey, sanal çekirdek sayımızı değil fiziksel çekirdek sayımızı seçmektir.

EKRAN BELLEĞİ

 Eğer sanal sistemimizin grafiksel bir arayüzü varsa ve bu grafiksel arayüzü etkin olarak kullanacaksak RAM alanında yaptığımız gibi uygun bir miktar ayırmamız gerekir. Kuracağımız sistemin gereksinimlerini araştırarak bulabiliriz.

 Çünkü programlar çoğu sistem için bir arayüz olmayacakmış gibi düşünüp 12-18 MB bellek önermekte.

EKRAN İÇİN GELİŞMİŞ SEÇENEKLER

 Misafir sistemimizde video oynatma, flash player nesneleri, üç boyutlu çalışmalar gibi görüntü çıktısı alacaksak mutlaka ama mutlaka sistemin desteklediği hızlandırma türünü seçmeliyiz linux dünyam. 2D hızlandırma (sadece Windows'ta) iki boyutlu nesneler ve videolar için uygunken 3D hızlandırma üç boyutlu görüntü veren uygulamalar için gereklidir.

Bazı sistem arayüzleri 3D hızlandırma desteği olmadan çalışmadığı için bu seçeneği mutlaka açmanız gerekebilir. Kullanacağınız arayüzün gereksinimlerine bakabilirsiniz.

 Yine aynı şekilde bu hızlandırmalar kapalı olarak gelmekte.

DONANIMSAL SANALLAŞTIRMA

İşlemciler, uzunca bir süredir donanımsal hızlandırma desteği ile gelse de bunu desteklemeyen işlemciler yazılımsal sanallaştırma ile yine uzunca bir süredir 32 bit sistemleri çalıştırabiliyor. 

Ancak 64 bit sistemleri hem 32 hem 64 bit barındırıcıda çalıştırabilmek için donanımsal sanallaştırma desteği şart.

 İşlemciniz desteklediği halde BIOS'unuzda donanımsal sanallaştırma kapalı olarak ayarlanmış olabilir. Bu durumda sadece ama sadece 32 bit sistemleri çalıştırabilirsiniz. BIOS'tan Intel için VT-x, AMD için AMD-V seçeneğini etkinleştirmelisiniz.

Sanal makine gözlemcinizde 32 bit misafir sistem için bu ayar kapalı olarak seçilmiş olabilir. Eğer kapalı ise etkinleştirmek performansa olumlu etki yapacaktır.

AYNI ANDA BİRDEN ÇOK SANAL MAKİNE ÇALIŞTIRACAKSAK


 Mutlaka ama mutlaka bir tane sanal makine gözlemcisi kullanılmalıdır. Aynı anda iki farklı gözlemci (VirtualBox ve VMware gibi) çalıştırılmamalıdır. Aynı gözlemcide sistemin karşılayabildiği kadar çok sistem çalışabilir.

İÇİÇE SAYFALAMA DESTEĞİ


 Nested paging diye bilinen RAM adresleme tekniği. Hem sanal hem gerçek sistemde RAM adresine erişim için iki defa sayfa tablosu hesaplamak yerine aynı adresleri kullandırarak performansı arttırmaya yarar. Mutlaka açık olmalıdır.

 Bilgisayarınızın donanımsal sanallaştırma desteği yoksa veya kapalıysa ya da sanal makinenizin donanımsal sanallaştırmayı kullanmasını kapattıysanız içiçe sayfalamayı açamazsınız.

ARAÇLAR, EKLENTİLER

 Sanal makine gözlemcinizin başka özelliklere de destek sağlayan eklenti paketi varsa mutlaka kurun. Örneğin VirtualBox, her sürüm için ayrı olarak farklı bir kullanıcı sözleşmesi olan eklenti paketi çıkarıyor. USB 2.0 desteği, PCI kartları ve kamera gibi cihazlara doğrudan erişim gibi pek çok getirisi var.



 Eğer sanal sisteminiz destekliyorsa bağdaştırıcı olarak sanallaştırma için özelleştirilen virtio-net'i kullanın.

 NAT yerine köprü bağdaştırıcısını tercih edin.

SİSTEM YEDEĞİ ALMA

Sanal sisteminizi kurup ayarladıktan sonra yedeğini almanız önemlidir. Çünkü hem uzun süre çalışmanın etkileri hem de kullanıcı hataları nedeniyle performans sorunları başlarsa sistemin düzgün çalıştığı zamana dönmeniz iki tık uzakta.




MİSAFİR SİSTEMDE YAPILABİLECEKLER

SABİT DİSKİ BİRLEŞTİRME

Kullandığımız sabit disk HDD ise sanal sistem ve diğer gerekli uygulamaların kurulumunu yaptıktan sonra sanal sabit diskte de birleştirme yapmak çok yararlıdır.

GÜVENLİK ÇÖZÜMÜ

 Eğer sanal bir Windows kurulumu yaptıysanız ve bu sistemi internete bağlayıp uzun vadeli kullanacaksanız gerçek sistemdekinden farksız bir şekilde güvenlik önlemi almanız gerekir. Bu performans kaybı gibi görünse de kesinlikle ihmal edilmemelidir. Güvenlik duvarı ve antivirüs gerekli.

 İnternete bağlı olmayan sistemlerde barındırıcı makineden transfer ettiğiniz dosyalara dikkat ettiğiniz sürece bir antivirüs gerekmeyecektir.

SİSTEM ÇALIŞMASINI DEVAM ETTİRME

 Sanallaştırma çözümlerinin en büyük getirilerinden biri olarak çalışan sistemin geçici belleğini sabit diske kaydebiliyor ve kaldığınız yerden aynen devam edebiliyorsunuz.

Ancak RAM yönetimi konusunda iyi olmayan sanal bir sistem kullanıyorsanız düzenli olarak yeniden başlatmakta yarar var.

DURAKLATMA

 Sanal sistemlerin bir diğer artısı da saniye sürmeden duraklatıp aynen devam ettirebilmek. RAM konusunda rahatsanız kullanmadığınız her an duraklatın gitsin.

İHTİYACINIZ OLAN SİSTEMİ AYARLAYIN

 İster sunucu olsun ister günlük işlerinizi görmek, ihtiyacınız olan sistem tam olarak ne ise onu elde edin.
- Bir kez ayarlayınca sorun olmadıkça bir daha hiç bakmayacağınız bir sunucunun arayüzü neden sürekli çalışıyor?
- Sadece bir iki programı kullanabilmek için kurduğunuz sistemin arayüzü neden en temel ayarlarda değil?
- Arka plandaki gereksiz onca hizmet neden çalışıyor? Başlangıç uygulamaları?

MİSAFİR EKLENTİLERİ VEYA ARAÇLAR

 Kullandığınız gözlemcinin sanal makine için bir eklenti paketi varsa kurulumunu kesinlikle ihmal etmeyin. Dinamik ekran çözünürlüğü, fare uyumu, paylaşılan klasörler, 2D ve 3D donanımsal hızlandırma gibi inanılmaz özellikler kazandırıyor.

PARAVIRTUALIZATION(YARI SANALLAŞTIRMA)
Yarı sanallaştırma desteği olan bir sanallaştırma gözlemcisi kullanıyorsanız misafir sisteme gerekli modül/şema veya sürücüleri kurup bu özelliği kullanmalısınız. Gözlemci bazı işlemleri sanal olarak çalıştırsa da bazılarını gerçek olarak çalıştırıp performans kaybını düşürecektir.

PAYLAŞILAN KLASÖRLER

 Windows misafir sistemlerinde paylaşılan klasörleri her açışta bir miktar gecikme yaşanır. Bunu düzeltmek için misafir sistemde windows\system32\drivers\etc\lmhosts dosyasına

255.255.255.255 VBOXSVR #PRE
255.255.255.255 VBOXSRV #PRE

eklemek yeterlidir. Misafiri yeniden başlatma gerektirir.

GEÇİCİ DİZİNİ RAM'DE BARINDIRMAK

 /tmp klasörünü fstab'den RAM'e bağlamak, sistem geçici dosyalar üzerinde çalışıyorken belirgin bir hızlanma yapar. Sisteminiz için internette araştırma yapın.

TAKAS ALANI KULLANIMI

Bir sistemi ihtiyacı olan miktardan daha düşük bir RAM alanında çalışmaya zorladığınızda RAM'e sığmayan kısmı sabit diske yazmaya ve buradan okumaya başlar. Bu da inanılmaz bir performans kaybına yol açar. Sistemi, RAM'i çok daha öncelikli olarak kullanmaya zorlamalısınız.

 Sisteminizin swappiness değerini en fazla 10'da tutun.

Kaynak: http://dlc.sun.com.edgesuite.net/virtualbox/4.3.12/UserManual.pdf

Sanal makineleri ne amaçla kullanıyorsunuz? Yorum bırakırsanız sevinirim. Kolay gelsin.

6 yorum :

  1. Bilgilendirici ve güzel yazınız için öncelikle teşekkür ederim.

    Sanal makinanın ekran kartı belleğini yükseltmemizin bir yolu varmıdır?

    Virtualbox ın verdiği bellekten daha fazlasını?

    YanıtlaSil
    Yanıtlar
    1. Rica ederim. Kullanıcı klasörünüzdeki VirtualBox klasöründe o sanal makinede .vbox dosyasını not defteri ile açın.

      Display VRAMSize="128" monitorCount="1" accelerate3D="true" accelerate2DVideo="true"

      şeklindeki satırda 128 miktarını değiştirip kaydedin.

      Sil
    2. Ama o değeri 256nın üzerine çıkardığımızda sanal makine başlatılamıyor.! en azından 128 den 256 oldu...

      Sil
    3. Haklısınız. 256 mb nin üzerinde grafik belleğini emüle edebilen sanallaştırma yöneticisi bulunmuyormuş. Bilgi için teşekkür ederim.

      Sil
  2. Hocam lmhosts dosyasını düzenletmiyor. Access denied diyor. Yönetici olarak çalıştıramadım, ne yapabilirim?

    Ayrıca; virtualbox kullanıyorum.Sanal makine ayarlarından depolamaya geldiğimizde sabit disk in altında ssd seçeneği var, işaretlememiz fayda sağlar mı?

    YanıtlaSil
    Yanıtlar
    1. Ben yetki almakla vakit kaybetmemek için o dosyayı yetki sorunu çıkarmayan bir klasöre, örneğin masaüstüne taşıyıp düzenleyip kaydedip tekrar geri taşıyorum. NT acayiptir :)
      Makinenizdeki sabit disk ssd ise işaretleyin.

      Sil