Zadanie polegało na tym samym problemie i zainstalowałem Oracle VirtualBox na Windows 7 (jako host) i Ubuntu (jako gość). Użyłem samodzielnego laptopa HP EliteBook 8540W z Intl Core i7 działającym na 1,87 GigHZ i 8Gig RAM.
Zakładając, że instalacja działa poprawnie, na maszynie gościa (np. W moim przypadku Ubuntu) wybierz „Ustawienia ...” z „Maszyny” w menu głównym; wybierz „System” i kliknij zakładkę „Procesor”. Możesz dostosować prędkość zegara (oznaczoną „Limit wykonania”), przesuwając wskaźnik na pasku do 1 procent.
Zakładałem, że system operacyjny hosta (w moim przypadku Windows 7) nie zużywa żadnych cykli zegara (potwierdziłem to, sprawdzając „Menedżera zadań” i znalazłem wykorzystanie ZERO CPU na komputerze hosta .ie Windows 7 w moim przypadku). Dlatego odrzuciłem w 100% „limit wykonania” równy komputerowi hostowi (np. 1,87 GigHZ). Myślę, że biorąc udział procentowy między zegarem maszyny hosta a 800 MHz, jesteś w stanie obliczyć wartość procentową odpowiadającą 800 MHz.
Mam nadzieję, że to pomoże.
Powodzenia.
Skompilowane i używane: cpulimit, który działał jak urok, aby spowolnić maszynę wirtualną.
źródło
Chociaż nie jestem ekspertem od wszystkich różnych technologii wirtualizacji, myślę, że jest mało prawdopodobne, abyś znalazł takie ustawienie. Znajdziesz jednak ustawienia (przynajmniej w MS hyper-V), które pozwalają ograniczyć maszynę wirtualną do procentu ogólnej liczby akcji hostów. Jeśli więc masz 8-rdzeniowy host działający z częstotliwością 2 GHz, możesz spróbować ograniczyć maszynę wirtualną klienta do jednego rdzenia i nie więcej niż 45% rdzenia.
Byłoby to jednak bardzo prymitywne i nieodpowiednie, jeśli próbujesz przetestować pętle taktowania lub coś, co ma rzeczywistą prędkość procesora.
źródło
--cpuexecutioncap <1-100>: To ustawienie kontroluje ile czasu procesora może użyć wirtualny procesor. Wartość 50 oznacza, że pojedynczy wirtualny procesor może wykorzystać do 50% jednego procesora hosta.
źródło
Mogę potwierdzić, że nie jest to obsługiwane w VirtualBox. Dokumentacja wydaje się jednak niepewna, czy VMware jest w stanie to zrobić.
EDYCJA: W przypadku VMware: „Nie jest to możliwe w przypadku produktów odtwarzacza i serwera, ale uważam, że dotyczy to ESXi (darmowego produktu„ hypervisor bez systemu ”) i płatnych produktów, takich jak VMWare Workstation.”
źródło
Można to zasymulować za pomocą przypinania procesora. Następnie utwórz niektóre procesy powiązane z procesorem przypięte do tego samego procesora. Szacowana prędkość procesora to (Rzeczywista prędkość procesora / liczba procesów).
Niektóre oprogramowanie ograniczające zasoby pozwala ograniczyć procent zasobów. Ułatwi to ograniczenie szybkości procesora. Aby to zrobić, musisz wyłączyć dostęp do wolnych zasobów.
źródło
W VirtualBOX znajduje się suwak, w którym można skonfigurować% procesora hosta, z którego może korzystać procesor gościa. Taki procent dotyczy każdego rdzenia.
W VirtualBOX nie ma możliwości symulacji wielordzeniowej z różnymi prędkościami na każdym rdzeniu, tylko jeden suwak dla wszystkich rdzeni.
Ustawienie suwaka na 50% spowoduje, że rdzenie gościa będą działały na 1/2 rdzeni hosta (podstawy na rdzeń).
Więc jeśli masz deca core (10 rdzeni) na hoście i trzy rdzeń na gościu (trzy) i chcesz, aby gość działał na X MHz, podczas gdy host działa na Y MHz, po prostu zignoruj liczbę rdzeni, aby obliczyć procent.
Wzór byłby następujący: Procent = 100 * X / Y
Mam nadzieję, że pomoże to również innym osobom przybywającym tutaj w przyszłości.
źródło