Univention Bugzilla – Bug 18661
CPU Auslastung der Instanzen
Last modified: 2023-06-28 10:46:02 CEST
Derzeit wird bei den einzelnen Instanzen angezeigt, wie viel CPU Zeit der Hypervisor den Instanzen zugeteilt hat. Hier wäre es wünschenswert, wenn die echte Auslastung innerhalb der Instanz angezeigt wird.
Da Virtualisierung u.a. dazu dient, die CPU-Auslastung der physikalischen CPUs besser zu nutzen, gibt es da ein Problem: Der Hypervisor stellt den domU-Systemen die CPUs zur Verfügung: Entweder diese haben Arbeit, nutzen die CPU solange wie der Hypervisor ihnen dies gestattet; oder die haben nichts zu tun, und der Hypervisor vergibt die CPU an eine andere domU. Aus der Sicht der domU und bezogen auf die Zeit, die eine domU die CPU hat, ist sie also zu 100% ausgelastet. Aus der Sicht der dom0 hingegen gibt es nur eine Verteilung der zur Verfügung stehenden CPU-Anteile auf die domUs, ggf. die dom0 selbst und der ungenutzte Anteil für Idle. Beispiel 1: (bezogen auf Beobachtung der letzten 1s) domU1 domU2 dom0 Idle 100ms 200ms 300ms 400ms Rechner ist nicht ausgelastet, beide domUs konnten ihre Arbeit erledigen Beispiel 2: domU1 domU2 dom0 Idle 400ms 400ms 200ms 0 Der Rechner ist zu 100% ausgelastet, aber die domUs können eine beliebige Auslastung zwischen 40% und 100% haben. Beispiel 3: domU1 domU2 dom0 Idle 600ms 300ms 100ms 0 Rechner ist ausgelastet, vermutlich zu viel Arbeit, aber es ist unklar, ob und welche Domain noch was zu tun hat und welche nicht? Das Problem rührt daher, daß die CPUs nicht länger einer Domain exklusiv zur Verfügung stehen, sondern nur bei Bedarf. Und da sich mehrere Domains nun eine CPU teilen müssen, heißt das im Endeffekt, daß diese ggf. keine Rechenzeit bekommt, obwohl noch Arbeit ansteht, weil die CPU gerade an eine andere Domain vergeben ist. Ohne das Wissen, wie lange eine domU die CPU hätte nutzen können, im Verhältnis zur tatsächlich genutzten Zeit, wird es schwierig. Selbst "xm top" zeigt nur die relative CPU-Verteilung zwischen den domUs an.
In Xen lassen sich die Scheduler-Parameter anpassen: http://wiki.xensource.com/xenwiki/CreditScheduler Damit wäre in einigen Fällen eine %-Aussage möglich: "Von den $Cap zur Verfügung gestellten Zeit hat die Domain aber nur % genutzt, deswegen ist die Auslastung dieser Domain %." Das ganze funktioniert allerdings nur, wenn am Ende noch Idle-Zeit übrig bleibt; bei einem überlasteten System wäre die so gefundene %-Angabe falsch, weil dort der Fall "hat seine Zeit freiwillig abgegeben und ist Idle" nicht von "wurde vom Scheduler verdrängt, obwohl zu 100% ausgelastet" unterscheidbar ist.
Ich denke diesen Bug können wir nur sinnvoll über die Installation von Tools in der DomU lösen.
This issue has been filed against UCS 2.3. UCS 2.3 is out of maintenance and many UCS components have vastly changed in later releases. Thus, this issue is now being closed. If this issue still occurs in newer UCS versions, please use "Clone this bug". In this case please provide detailed information on how this issue is affecting you.