Warum werden die Fortschrittsanzeigen oben auf dem Bildschirm in htop
angezeigt CPU-Auslastung konstant über>90 % anzeigen, während die Zahlen in der folgenden Tabelle ein nahezu im Leerlauf befindliches System mit CPU-Auslastung und durchschnittlicher Auslastung von 0,0 % zeigen?
Akzeptierte Antwort:
htop
ist sich nicht bewusst, dass es in einer virtualisierten Umgebung auf Kernel-Ebene ausgeführt wird (Dreamhost VPS verwendet VServer-Technologie). Es zeigt dann die CPU-Auslastung für alle Betriebssysteminstanzen, die denselben Kernel teilen, nicht nur für Ihre.
Schau mal bei vtop
nach Ausgabe, die alle Prozesse zeigt, die sich die CPUs teilen, nicht nur die in Ihrem Container.
Wenn vtop
nicht installiert ist, und dies wird wahrscheinlich für eine kommerzielle Lösung erwartet, da ein Kunde nicht sehen möchte, welche Prozesse andere Kunden ausführen, gibt es keine Möglichkeit, das Problem aus Ihrem Container heraus zu beheben, es sei denn, Sie patchen top
Quelle, um die CPU-Auslastung zu berechnen, anstatt sie aus den Kernel-Statistiken zu erhalten.
Es könnte dies tun, indem es die CPU-Auslastung aller Prozesse aufsummiert, die auf Ihrem VServer ausgeführt werden, z. B.:
ps aux | awk '
{cpu+=$3; ram+=$6}
END {printf("cpu: %d%%, RAM: %.2f MiBn",cpu,ram/1024) }'