Limiter la vitesse du processeur dans une machine virtuelle?

Est-ce que quelqu'un connaît une façon de limiter la vitesse du processeur dans une machine virtuelle? Ou s'il existe même un logiciel de virtualisation qui vous permet de faire cela?

J'essaie de trouver les exigences minimales pour un système, compte tenu d'une image OS spécifique que j'ai. Je vois des moyens de limiter la RAM et la taille du disque dur et le nombre de noyaux, mais je dois ralentir la CPU jusqu'à 800 MHz afin de simuler la configuration du système. En outre, l'ordinateur qui exécute la machine virtuelle est une machine Windows 7.

J'ai été chargé du même problème et j'ai installé Oracle VirtualBox sur Windows 7 (en tant qu'hôte) et Ubuntu (en tant qu'invité). J'ai utilisé un ordinateur portable autonome, HP EliteBook 8540W avec Intl Core i7 fonctionnant à 1,87 GigHZ et 8Gig RAM.

En supposant que votre installation fonctionne correctement, sur votre machine Invité (p. Ex. Dans mon cas, Ubuntu), sélectionnez "Paramètres …" de "Machine" dans le menu principal; Sélectionnez «Système» et cliquez sur l'onglet «Processeur». Vous pouvez régler la vitesse d'horloge (étiquetée, "Exécution Cap") en faisant glisser l'indicateur sur la barre jusqu'à 1 pour cent.

J'ai supposé que le système d'exploitation hôte (Windows 7 dans mon cas) ne consommait aucun cycle d'horloge (je l'ai confirmé en cochant le "Gestionnaire des tâches" et j'ai trouvé l'utilisation de la CPU ZERO sur la machine hôte .ie Windows 7 dans mon cas). Par conséquent, j'ai assuré 100% de "cap d'exécution" égal à celui de la machine hôte (p. Ex. 1,87 GigHZ). Je pense qu'en prenant un pourcentage entre votre vitesse d'horloge de la machine hôte et 800 MHZ, vous êtes en mesure de déterminer la valeur de pourcentage qui correspond à 800 MHZ.

J'espère que ça aide.

Bonne chance.

Sur VMWare ESX et ESXi, vous pouvez créer un pool de ressources et limiter les ressources de la CPU pour ce pool. Cela vous permettra de limiter la vitesse du processeur de tous les systèmes créés dans le pool de ressources.

Compilé et utilisé: cpulimit qui a fonctionné comme un charme pour ralentir la VM.

Bien que je ne soyez pas expert sur toutes les technologies de virtualisation différentes, je pense qu'il est peu probable que vous trouviez un tel paramètre. Cependant, vous trouverez des paramètres (au moins dans MS hyper-V) qui vous permettent de limiter une machine virtuelle à un pourcentage des actions globales des machines hôtes. Donc, si vous disposez d'un hôte central de 8 à 2 GHz, vous pouvez essayer de limiter la machine virtuelle client à un noyau, et pas plus de 45% du noyau.

Cependant, ce serait très grossier et ne convient pas si vous essayez de tester des boucles de chronométrage ou quelque chose où la vitesse réelle du processeur entre en jeu.

–cpuexecutioncap <1-100>: ce paramètre contrôle le temps CPU qu'une CPU virtuelle peut utiliser. Une valeur de 50 implique une CPU virtuelle unique peut utiliser jusqu'à 50% d'une CPU hôte unique.

Je peux confirmer que cela n'est pas pris en charge dans VirtualBox. Cependant, la documentation semble être douteuse si VMware est ou non capable de le faire.

EDIT: pour VMware: "Ceci n'est pas possible avec les produits Player et Server, mais je pense que c'est dans ESXi (le produit gratuit" hypervisor ") et les produits payants comme VMWare Workstation".

Vous pourriez peut-être simuler cela avec l'attachement du CPU. Ensuite, créez des processus liés à la CPU fixés à la même CPU. La vitesse estimée de l'UC est (Vitesse CPU réelle / nombre de processus).

Certains logiciels limitant les ressources vous permettront de limiter les pourcentages de ressources. Cela faciliterait la limitation de la vitesse du processeur. Pour ce faire, vous devez désactiver l'accès aux ressources de rechange.