Je viens de recevoir une machine hôte mise à niveau et je cherche à appliquer certaines de ces avancées à mes systèmes d'exploitation invités. En particulier, j'avais l'habitude d'avoir un seul processeur, avec 2 cœurs, donc mon OS invité n'en avait que 1/1.
Maintenant, j'ai un seul processeur avec 8 cœurs, donc je suis curieux de savoir ce qui serait recommandé pour mon OS invité maintenant?
- 1 processeur / 4 cœurs?
- 2 processeurs / 2 cœurs?
- 4 processeurs / 1 cœur?
Mon instinct me dit de s'en tenir au nombre de processeurs physiques (ou moins), mais est-ce basé sur la réalité? J'ai passé un bon moment à chercher une réponse à cela, mais peut-être que mon google-karma n'est pas en ma faveur aujourd'hui.
cpu
vmware-workstation
reidLinden
la source
la source
Réponses:
Dans mes propres tests, avec VMWare Workstation, en utilisant les derniers tests GeekBench 3, 64 bits, sur une machine hôte avec 1 processeur, 2 cœurs (avec HT activé, donc 4 cœurs):
Système hôte:
Virtualisé:
Donc, au moins dans mes tests, il semble qu'il y ait un avantage à définir votre nombre virtuel de cœurs pour correspondre à vos cœurs physiques. J'ai peut-être tort. J'adorerais discuter.
la source
Je ne sais pas si ces informations sont toujours valides, mais dans un passé pas trop lointain, les processeurs invités supplémentaires ne se sont pas développés à peu près aussi bien que les processeurs hôtes. En fait, la meilleure recommandation était de rester avec des processeurs uniques dans vos configurations d'invité, sauf si vous testiez / déboguez spécifiquement un logiciel multithread chez vos invités et nécessitiez un environnement SMP.
Edit: Cette réponse est particulière à la virtualisation des postes de travail, pas à la virtualisation des serveurs.
la source
Tout au plus, je donne à mon invité OS 2 cœurs. Peu importe que vous fassiez 1 processeur 2 cœurs ou 2 processeurs 1 cœur chacun. Le paramètre du processeur est pour des raisons de compatibilité. Les processeurs / cœurs ne s'adaptent pas si bien pour le système d'exploitation invité en raison de la planification des processus cœur / processeur. 2 cœurs semblent être le point idéal.
la source
Il y a peu de différence à ce stade. Dans certains cas, les licences logicielles peuvent dépendre des cœurs ou des processeurs.
Ce n'est que dans une référence qui utilise tous les cœurs. La plupart des applications n'évoluent pas les performances de manière linéaire avec le nombre de cœurs, car elles n'utilisent tout simplement pas les cœurs supplémentaires.
Il existe également un certain niveau de surcharge avec l'ajout de cœurs supplémentaires. Pour cela, ajoutez simplement le nombre de cœurs que votre application doit effectuer aux niveaux dont vous avez besoin. Ce n'est pas parce que vous avez 4 cœurs dans votre hôte que chaque machine virtuelle devrait avoir 4 cœurs.
Dans un certain nombre d'environnements que je gère, nous avons deux processeurs 10 cœurs avec un total de 40 threads logiques et mes contrôleurs de domaine n'ont toujours que deux cœurs.
la source
Je suis assez choqué que ces questions fréquemment posées n'aient pas encore reçu de réponse complète. Votre CPU hôte devrait prendre en charge certaines technologies de virtualisation, par exemple Intel VTx. Cela vous permet de "tunneler" toute la puissance du CPU dans votre système d'exploitation invité. Sinon, il y aura une énorme baisse de vitesse due à l'émulation d'un CPU. Si vous avez un processeur avec hyperthreading, vous devriez voir 8 processeurs pour un processeur quad-core dans le gestionnaire de périphériques de votre machine hôte (l'hyperthreading double le nombre de vos cœurs). Dans ce cas, vous pouvez affecter 1 processeur avec 4 cœurs à votre système d'exploitation invité. Tant que vous n'avez pas d'autre processeur physique dans votre système, n'affectez pas plus d'un processeur à votre machine virtuelle. Vous pouvez attribuer plus ou moins de cœurs à votre système d'exploitation invité, selon vos besoins, mais vous ne devriez pas t attribuez une valeur supérieure à vos cœurs hyperthreading. Mais notez que votre hôte a également besoin d'une certaine puissance CPU. Je configure généralement le demi-nombre de mes cœurs hyperthreading et le demi-nombre de ma mémoire, par exemple 8192 Mo lorsque vous avez 16 Go de RAM. Il s'agit généralement d'un bon paramètre, mais pas si vous souhaitez exécuter plusieurs machines virtuelles à la fois.
la source