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é (par exemple dans mon cas, Ubuntu) sélectionnez "Paramètres ..." dans "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 «Capuchon d'exécution») en faisant glisser l'indicateur sur la barre jusqu'à 1%.
J'ai supposé que le système d'exploitation hôte (Windows 7 dans mon cas) ne consommait aucun cycle d'horloge (j'ai confirmé cela en vérifiant le "Gestionnaire des tâches" et j'ai trouvé une utilisation ZERO CPU sur la machine hôte .ie windows 7 dans mon cas). Par conséquent, j'ai aspiré à 100% le "plafond d'exécution" est égal à celui de la machine hôte (par exemple 1,87 GigHZ). Je pense qu'en prenant un pourcentage entre la vitesse d'horloge de votre machine hôte et 800 MHz, vous êtes en mesure de déterminer la valeur en pourcentage qui correspond à 800 MHz.
J'espère que ça aide.
Bonne chance.
Compilé et utilisé: cpulimit qui fonctionnait comme un charme pour ralentir la VM.
la source
Bien que je ne sois pas expert sur toutes les différentes technologies de virtualisation, 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 avez un hôte à 8 cœurs fonctionnant à 2 GHz, vous pouvez essayer de limiter la machine virtuelle cliente à un cœur, et pas plus de 45% du cœur.
Cependant, cela serait très grossier et ne conviendrait pas si vous essayez de tester des boucles de synchronisation ou quelque chose où la vitesse réelle du processeur entre en jeu.
la source
--cpuexecutioncap <1-100>: ce paramètre contrôle le temps de processeur qu'un processeur virtuel peut utiliser. Une valeur de 50 implique qu'un seul processeur virtuel peut utiliser jusqu'à 50% d'un seul processeur hôte.
la source
Je peux confirmer que cela n'est pas pris en charge dans VirtualBox. Cependant, la documentation semble incertaine quant à savoir si VMware est capable de le faire ou non.
EDIT: Pour VMware: «Ce n'est pas possible avec les produits Player et Server, mais je crois que c'est dans ESXi (le produit gratuit« hyperviseur à nu ») et les produits payants comme VMWare Workstation.
la source
Vous pourrez peut-être simuler cela avec l'épinglage du processeur. Créez ensuite des processus liés au processeur épinglés sur le même processeur. La vitesse estimée du processeur est (vitesse réelle du processeur / nombre de processus).
Certains logiciels de limitation des 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 disponibles.
la source
Sur VirtualBOX, il y a un curseur où vous pouvez configurer le% de CPU hôte que le CPU invité peut utiliser. Ce pourcentage s'applique à chaque cœur.
Sur VirtualBOX, il n'y a aucun moyen de simuler un multicœur avec des vitesses différentes sur chaque cœur, un seul curseur pour tous les cœurs.
Régler le curseur à 50% fera fonctionner les cœurs invités à la moitié des cœurs hôtes (une base par cœur).
Donc, si vous avez un noyau déca (10 cœurs) sur l'hôte et un tri-cœur sur l'invité (trois), et que vous voulez que l'invité s'exécute à X MHz tandis que l'hôte s'exécute à Y MHz, ignorez simplement le nombre de cœurs pour calculer le pourcentage.
La formule serait: Pourcentage = 100 * X / Y
J'espère que cela aidera également d'autres personnes à venir ici pour l'avenir.
la source