CPU-Zuordnung der virtuellen Maschine mit mehreren virtuellen Kernen

574
Virtualizer

Ich bin relativ neu im Bereich und im Bereich Stack Exchange, aber ich werde versuchen, diese Frage nicht zu Müll zu machen. Das hat mich in letzter Zeit wirklich gestört, weil ich versuche, etwas auf einem VPS einzurichten

Die Frage ist, kurz gefasst: Kann ein Single-Threaded-Prozess, der auf einer virtuellen Maschine mit mehreren virtuellen Kernen ausgeführt wird, die volle Kapazität der physischen Maschine ausnutzen, wenn diese Maschine nur einen einzelnen Kern hat?

Wenn das unklar war, versuche ich die Frage mit mehr Hintergrund und Details zu stellen:

Angenommen, ich führe einen ressourcenintensiven Single-Threaded-Prozess auf einer virtuellen Maschine aus. Diese virtuelle Maschine hat mehrere virtuelle Kerne. Da der Prozess jedoch nur einen einzigen Thread hat, kann er nur von einem Kern ausgeführt werden. Die virtuelle Maschine wird jedoch auf einer physischen Maschine mit nur einem Kern ausgeführt.

Wenn Sie mehrere Kerne, aber nur einen Thread haben, wird normalerweise nur ein Kern verwendet, und der Rest läuft leer, oder? Ich bin in einer virtuellen Maschine in etwa der gleichen Meinung, kann aber anscheinend keine Informationen zu einem solchen Fall finden. Ich meine, es ist ein einzelner Thread auf mehreren Kernen für die VM, sicher, aber am Ende hat die physische Maschine auch nur einen einzigen Kern. Sind die anderen virtuellen Kerne nur im Leerlauf und verschwenden die CPU-Zyklen der physischen Maschine?

Wird der Hypervisor in der Lage sein, die gesamte Kapazität des physischen Kerns für den Single-Threading-Prozess bereitzustellen? Können nur einige Hypervisoren dies tun, oder ist es für einen Hypervisor eine übliche / seltene Fähigkeit, dies zu tun?

Ich weiß, dass es eine schlechte Angewohnheit ist, mehrere Fragen gleichzeitig zu stellen, aber ich denke, dass diese Fragen so verwandt sind, dass sie genauso gut alle gleichzeitig gestellt werden könnten.

2
Die Frage scheint nicht mit sich selbst übereinzustimmen: "Kann ein Single-Threaded-Prozess auf einer VM mit mehreren ... Kernen verwendet werden ..., wenn die Maschine nur einen einzigen Kern hat". Bitte klären Sie, was Sie im letzten Abschnitt meinen: Welche Maschine hat nur einen Kern? Natürlich nicht die VM, da sie gemäß der vorherigen Zeile über mehrere Kerne verfügt und ein Single-Core-Host ... ungerade ist. Ich kann nicht sagen, dass es nicht möglich ist, einer VM auf einem Host mit einer einzelnen CPU mehrere vCores zuzuweisen, aber ich würde sagen, dass dies NICHT das Richtige ist und wahrscheinlich schwerwiegende Probleme verursachen kann. Bitte bearbeiten Sie Ihre Frage, um dies zu klären. music2myear vor 5 Jahren 0

0 Antworten auf die Frage