Bir VM'de yavaş bir makineyi nasıl simüle edebilirim?


29

Bir AJAX ağır web uygulaması test ediyorum. Yeni bir Mac üzerinde geliştiriyorum, ancak Windows XP'de test etmek için VmWare Fusion (şu anda 3.1.2), IE'nin eski sürümlerini simüle etmek için IETester kullanarak kullanıyorum .

Bu, eski IE sürümlerinin siteyi nasıl işleyeceğini görmemi sağlıyor, ancak sitenin eski bir makinede nasıl performans göstereceğini de görmek istiyorum. VM ayarlarında RAM'i azaltabileceğimi görüyorum; işlemci hızını da çevirmenin bir yolu var mı? Yavaş bir makineyi başka şekilde nasıl simüle edebilirim?

(Ayrıca yavaş bir internet bağlantısının nasıl simüle edileceğini de kontrol edeceğim .)

Yanıtlar:


17

İplik sanal makine CPU hızını sınırlandırılması bazı tavsiyelerde bulunmaktadır:

  • VMWare ESX ve ESXi'de bir Kaynak Havuzu oluşturabilir ve bu havuz için CPU Kaynaklarını sınırlayabilirsiniz. Bu, Kaynak Havuzu'nda oluşturulan tüm sistemlerin CPU hızını sınırlamanıza izin verir.
  • MS hyper-V'deki ayarlar, sanal makineyi genel ana bilgisayarın yüzdesiyle sınırlandırmanıza izin verir. Dolayısıyla, 2 GHz hızında çalışan 8 çekirdekli bir ana makineniz varsa, istemci sanal makineyi bir çekirdeğe ve çekirdeğin% 45'inden daha fazla olmayacak şekilde sınırlamayı deneyebilirsiniz.

Sanal PC Guy, sanal makineleri yavaşlatırken şöyle diyor :

Sanal Sunucu (örneğin) Sanal Sunucu altında maksimum% 10 CPU kaynağına sahip bir sanal makinenin ayarlanması, bir süre zarfında toplam sistem zamanlama süresinin yalnızca% 10'u için CPU üzerinde çalışmasına izin verileceği anlamına gelir. Sanal makine çalışırken, hala tam işlemci hızında çalışıyor (aksi halde çalışacağından daha az sıklıkta olsa da).

VM'yi yavaşlatmak için bunun yerine Turbo kullanılmasını önerir . Ayrıca, DOSBox ve Bochs gibi sanallaştırma işlemlerinden çok daha yavaş olan emülasyon ürünlerinin kullanılmasını önerir .


7

İşleminize ayrılan işlem zamanını sınırlamak için cpulimit'i kullanabilirsiniz . Bu çoğu linux dağıtımının depolarında mevcuttur.

Kullanımı çok basittir, örneğin VM'niz işlem 12345 olarak çalışıyorsa ve CPU döngülerinin yalnızca% 5'ini ayırmak istiyorsanız, aşağıdaki seçenekleri kullanın:

$ cpulimit -l 5 -p 12345

4

Eski bir makinenin performansını güvenilir bir şekilde eşleştirmek gerçekten mümkün değildir. CPU kullanımını ve bellek boyutunu azaltmayı başarsanız bile, FSB hızını veya bellek hızını nasıl kısacaksınız ?

Bunu söyledikten sonra, VMWare Fusion'ın CPU kullanımını sınırlamak için Mac'in işlem yönetimi aracını kullanabilirsiniz. Bunu eski bir makineye öykünecek kadar iyi yaparsanız, tüm VMWare uygulaması muhtemelen XP gibi hazır bir makine gibi gerçekten yavaş çalışacaktır.

Bunun için grafiksel Mac programının ne olduğunu bilmiyorum, ancak Mac'inizin renicekomutu destekleyip desteklemediğine bakın : Bir terminal açın ve man renicebir Mac'te nasıl çalıştığını okumak için yazın .

Bu arada, XP'ye hazır makineler şu anda muhtemelen ucuzdur. Gerçek bir tane muhtemelen ~ 75 $ için olabilirdi. O zaman sanal makinenizi gerçek bir makineye transfer edebilirsiniz.


2
Ha! Gerçek bir makine satın almak için ilginç bir fikir. Tüm fikir eski bir bilgisayarı taklit etmek olduğundan, eski bir bilgisayarı satın almak oldukça ucuz bir seçenektir. :)
Nathan Long

2

Bu gerçekten taklit etmek istediğiniz bir makinenin ne kadar yavaş olduğuna bağlıdır. XP'yi 128 MB RAM'e geri alırsanız, sanal işlemci hızının gerçekten ilgili olup olmayacağından emin olamadığım noktaya kadar acı verici bir şekilde yavaş olacaktır. VM dosyalarınızı eski bir USB1 harici sabit sürücüden de çalıştırabilirsiniz (bkz. 4200 RPM sürücü bulabiliyor musunuz). Bu işleri yavaşlatmalı.


2

Bir VM'yi yavaşlatmanın kesin bir yolu, onun yanında olabildiğince çok sayıda klonu açmaktır!

İşlemciniz, FSB, RAM ve makinenizin diğer tüm hızlı bileşenleri diğer VM'ler arasında dilimlenecek ve kesilecektir (Yoğun bir şeyler yaptıkları sürece - örneğin openGL ekran koruyucularından biri) ve yine 1990'dasın ...


Basit ve oldukça etkili.
rulo

1

XP'nin yerleşik dinamik frekans anahtarlamasını kullanarak CPU frekansını kontrol etmek için konuk XP VM'ye küçük bir yardımcı program kurun. Örneğin, SpeedswitchXP gibi bir yardımcı program . Böyle bir şeyi hiç kendim denemedim ve VMWare'in konuk VM'ye sunduğu sanal CPU dinamik frekans değiştirmeyi desteklemiyorsa, potansiyel olarak sorunlar olabilir.


1
Bunun CPU'nun sadece taklit edildiği bir VM için çok az etkisi olacağından korkuyorum.
harrymc

1
Evet, frekansı değiştirmenin bir seçenek olduğunu sanmıyorum ; ya çalışmaz (muhtemel), ya da tüm sunucuyu kısmayacak (imkansız?).
jpaugh

0

Ayarlanabilir bir uyku komutu ile sonsuz bir döngü iş parçacığı kullanma fikrini eğlendirmek ve işlem önceliğini ayarlamak istiyorum. Eğer birlikte hızlıca bir C kodu tokatlamamı istersen haberim olsun.

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.