Limitare la velocità della CPU in una macchina virtuale?

Qualcuno sa di un modo per limitare la velocità della CPU in una macchina virtuale? Oppure se c'è anche un software di virtualizzazione che ti permette di farlo?

Sto cercando di trovare i requisiti minimi per un sistema, data un'image OS specifica che ho. Vedo i modi per limitare la RAM e la dimensione del disco rigido e il numero di core, ma devo rallentare la CPU fino a 800 MHz per simulare veramente la configuration del sistema. Inoltre, il computer che esegue la macchina virtuale è una macchina Windows 7.

Mi è stato affidato lo stesso problema e ho installato Oracle VirtualBox su Windows 7 (come host) e Ubuntu (come ospite). Ho usato un computer porttile standalone, HP EliteBook 8540W con Intl Core i7 in esecuzione a 1,87 GigHZ e 8Gig RAM.

Assumendo che le vostre installazioni funzionino correttamente, sulla vostra macchina ospite (ad es. Nel mio caso, Ubuntu) seleziona "Impostazioni …" da "Macchina" nel menu principale; select "Sistema" e fare clic sulla scheda "Processore". È ansible regolare la velocità dell'orologio (etichettata, "Capsule di esecuzione") facendo scorrere l'indicatore sulla barra fino all'1%.

Ho ipotizzato che l'OS ospite (Windows 7 nel mio caso) non stava consumando alcun ciclo di clock (ho confermato questo controllo il "Task Manager" e ho trovato l'utilizzo della CPU ZERO sulla macchina host .ie windows 7 nel mio caso). Pertanto, ho asumito il 100% "tappo di esecuzione" uguale a quello della macchina host (es. 1,87 GigHZ). Penso che prendendo una percentuale tra la velocità dell'orologio macchina host e 800 MHZ, è in grado di capire il valore percentuale che corrisponde a 800 MHZ.

Spero che aiuti.

Buona fortuna.

Su VMWare ESX e ESXi è ansible creare un pool di risorsa e limitare le risorse di CPU per quel pool. Ciò consentirebbe di limitare la velocità della CPU di tutti i sisthemes creati in tale pool di risorse.

Compilato e utilizzato: cpulimit che ha funzionato come un fascino per rallentare il VM.

Mentre non sono esperto di tutte le diverse tecnologie di virtualizzazione, penso che sia improbabile che tu troverai un tale ambiente. Tuttavia, troverai le impostazioni (alless in iper-V di MS) che consentono di limitare una macchina virtuale ad un percento delle azioni complesse delle macchine host. Quindi, se si dispone di un host a 8 core funzionante a 2 GHz, si potrebbe provare a limitare la macchina virtuale client a un core e non più del 45% del core.

Tuttavia, questo sarebbe molto grezzo e non è adatto se stai cercando di testare loop di temporizzazione o qualcosa in cui la velocità del processre reale entrerà in gioco.

–cpuexecutioncap <1-100>: Questa impostazione controlla quanto tempo CPU in una CPU virtuale può utilizzare. Un valore di 50 implica che una singola CPU virtuale possa utilizzare fino al 50% di una singola CPU host.

Posso confermare che questo non è supportto in VirtualBox. Tuttavia, la documentazione sembra essere inconfuta sul fatto che VMware sia in grado di farlo.

EDIT: Per VMware: "Questo non è ansible con i prodotti Player e Server, ma credo sia nel prodotto ESXi (il" hypervisor "nudo-metallo" e nei prodotti pagati come VMWare Workstation ").

Potresti essere in grado di simulare questo con il pinning della CPU. Quindi creare alcuni processi legati alla CPU fissati alla stessa CPU. La velocità di CPU stimata è (Velocità CPU effettiva / # processi).

Alcuni software di limitazione delle risorse consentono di limitare le percentuali di risorse. Questo renderebbe più facile limitare la velocità della CPU. Per farlo è necessario distriggersre l'accesso a risorse di riserva.