Nous avons récemment acheté un serveur qui exécute Hyper-V 2008 R2 bare metal. Le serveur dispose de deux processeurs Intel Xeon quad-core avec hyperthreading, donc si je comprends bien, cela nous donne 16 cœurs. Dans Hyper-V, nous avons créé une machine virtuelle exécutant Windows Server 2008 R2 avec 4 processeurs virtuels. L'écran des paramètres du processeur me dit que cela représente 25% de la puissance de traitement totale du système. Est-ce à dire que les 75% restants ne peuvent pas être exploités par le système d'exploitation virtuel? Nous allons exécuter quelques autres machines virtuelles, mais celle-ci est destinée à SQL Server et nous aimerions lui fournir autant de puissance que possible.
14
Réponses:
Un vCPU ne peut être mappé qu'à un seul processeur physique. Vous ne pouvez pas prendre 4 processeurs physiques et créer un seul processeur virtuel quatre fois plus rapide; ce n'est pas comme ça que ça fonctionne.
Hyper-V est limité à l'attribution de 4 vCPU à une machine virtuelle (la dernière fois que j'ai vérifié). Si vous avez besoin d'une puissance CPU importante, passez au physique, il n'y a aucun sens à ajouter une surcharge de virtualisation à quelque chose qui nécessite beaucoup de CPU et parallèle en premier lieu.
En outre, comme le note Holocryptic, si vous attribuez 4 vCPU à une machine virtuelle, cette machine virtuelle ne peut pas fonctionner tant que Hyper-V n'a pas acquis 4 cœurs de processeur physiques pour les exécuter. Selon votre configuration, cela pourrait être une pierre d'achoppement majeure (par exemple, si vous avez une machine à 6 cœurs avec un tas de 4 machines virtuelles vCPU, une seule ne fonctionnera jamais à la fois, les deux autres cœurs resteront toujours essentiellement inutilisés).Selon Jake Oshins, cela n'était vrai pour aucune version d'Hyper-V. Il déclare que Hyper-V n'utilise pas la planification des gangs pour le CPU; comme presque tous les autres hyperviseurs. Par conséquent, si un cœur de processeur phystique est disponible, Hyper-V peut l'utiliser pour exécuter une machine virtuelle multi-processeur. (Également mentionné, Hyper-V peut ne pas utiliser tous les cœurs physiques disponibles à l'époque en raison du partitionnement NUMA)Remarque: SQL n'utilise pas nécessairement tous les cœurs que vous pouvez lui lancer en premier lieu. Cela dépend vraiment de l'utilisation que vous en faites et de la parallélisabilité de la charge.
la source
Oui, ce que Chris a dit. Si vous avez besoin de plus de 4 CPU dans une machine virtuelle Hyper-V, alors créez deux serveurs SQL en virtuel et répartissez vos bases de données ou passez au physique. En fonction de votre licence de serveur SQL, vous pourrez peut-être ajouter plus de serveurs SQL en virtuel (sur le même hôte physique) sans augmenter les coûts de licence, mais lisez le livre blanc sur les licences virtuelles SQL pour plus d'informations.
Je conviens également que si SQL manque de puissance CPU avec 4 CPU virtuels, vous avez soit une utilisation sérieuse de l'application, soit les commandes SQL sont mal écrites.
la source
Environ 4 core core limit:
Dans la section du fichier de configuration de VM:
[processeurs] [count type = ”integer”] 16 [/ count]
Vous disposez maintenant d'un processeur 16 cœurs.
MISE À JOUR: Il semble que la capture d'écran soit nécessaire
la source
suivez ce guide
http://surminski.eu/2012/04/17/hyper-v-how-to-add-more-than-4-cores-to-a-virtual-machine/
vous pouvez localiser le fichier de configuration vm xml sous le répertoire "Virtual Machines" du répertoire VHD de la VM, le fichier de configuration sera nommé sous l'ID de la VM. Le lien ci-dessous est une référence.
référence: fichier de configuration VM xml
assurez-vous de modifier le fichier de configuration VM xml avec le bloc-notes / notepad ++ ouvert sous les privilèges d'administrateur
la source