Se me asignó el mismo problema e instalé Oracle VirtualBox en Windows 7 (como host) y Ubuntu (como invitado). Utilicé una computadora portátil independiente, HP EliteBook 8540W con Intl Core i7 funcionando a 1.87 GigHZ y 8Gig RAM.
Suponiendo que su instalación funciona correctamente, en su máquina Invitado (por ejemplo, en mi caso, Ubuntu) seleccione "Configuración ..." de "Máquina" en el menú principal; seleccione "Sistema" y haga clic en la pestaña "Procesador". Puede ajustar la velocidad del reloj (etiquetada, "Límite de ejecución") deslizando el indicador en la barra hasta el 1 por ciento.
Asumí que el sistema operativo host (Windows 7 en mi caso) no consumía ningún ciclo de reloj (lo confirmé marcando el "Administrador de tareas" y encontré CERO utilización de la CPU en la máquina host. Es decir, Windows 7 en mi caso). Por lo tanto, supuse que el "límite de ejecución" al 100% es igual al de la máquina host (por ejemplo, 1.87 GigHZ). Creo que al tomar un porcentaje entre la velocidad de reloj de su máquina host y 800 MHZ, puede calcular el valor de porcentaje que corresponde a 800 MHZ.
Espero que esto ayude.
La mejor de las suertes.
Compilado y usado: cpulimit que funcionó de maravilla para ralentizar la VM.
fuente
Si bien no soy un experto en todas las diferentes tecnologías de virtualización, creo que es poco probable que encuentres esa configuración. Sin embargo, encontrará configuraciones (al menos en MS hyper-V) que le permiten limitar una máquina virtual a un porcentaje de las acciones generales de las máquinas host. Entonces, si tiene un host de 8 núcleos que se ejecuta a 2 GHz, puede intentar limitar la máquina virtual del cliente a un núcleo, y no más del 45% del núcleo.
Sin embargo, esto sería muy tosco y no adecuado si está tratando de probar bucles de sincronización o algo donde la velocidad real del procesador entra en juego.
fuente
--cpuexecutioncap <1-100>: esta configuración controla cuánto tiempo de CPU puede usar una CPU virtual. Un valor de 50 implica que una sola CPU virtual puede usar hasta el 50% de una sola CPU host.
fuente
Puedo confirmar que esto no es compatible con VirtualBox. Sin embargo, la documentación parece ser dudosa sobre si VMware puede o no hacer esto.
EDITAR: Para VMware: "Esto no es posible con los productos Player y Server, pero creo que está en ESXi (el producto gratuito" hipervisor de metal desnudo ") y los productos pagos como VMWare Workstation".
fuente
Es posible que pueda simular esto con la fijación de CPU. Luego cree algunos procesos vinculados a la CPU anclados a la misma CPU. La velocidad estimada de la CPU es (Velocidad real de la CPU / # de procesos).
Algunos programas de limitación de recursos le permitirán limitar los porcentajes de recursos. Esto facilitaría limitar la velocidad de la CPU. Para hacerlo, debe deshabilitar el acceso a los recursos adicionales.
fuente
En VirtualBOX hay un control deslizante donde puede configurar el% de CPU host que puede usar la CPU invitada. Tal porcentaje se aplica a cada núcleo.
En VirtualBOX no hay forma de simular un multinúcleo con velocidades diferentes en cada núcleo, solo un control deslizante para todos los núcleos.
Establecer el control deslizante al 50% hará que los núcleos de invitados se ejecuten a la mitad de los núcleos de host (un básico por núcleo).
Entonces, si tiene un núcleo deca (10 núcleos) en el host y un núcleo triple en el invitado (tres), y desea que el invitado se ejecute a X MHz mientras el host se ejecuta a Y MHz, simplemente ignore la cantidad de núcleos para calcular el porcentaje.
La fórmula sería: Porcentaje = 100 * X / Y
Espero que esto también ayude a otras personas que vengan aquí en el futuro.
fuente