Überwachen der CPU-Auslastung von DigitalOcean-Tröpfchen

Einführung

Die Speicherkapazität, die Größe des Caches, die Lese- und Schreibgeschwindigkeit auf der Festplatte sowie die Geschwindigkeit und Verfügbarkeit der Verarbeitungsleistung sind wichtige Faktoren, die sich auf die Leistung Ihrer Infrastruktur auswirken. In diesem Artikel konzentrieren wir uns auf einführende CPU-Überwachungskonzepte und Warnstrategien. Im Folgenden wird beschrieben, wie Sie mit den beiden gängigen Linux-Dienstprogrammen "+ uptime " und " top +" Informationen zur CPU-Auslastung und -Nutzung erhalten und DigitalOcean-Warnungsrichtlinien festlegen, um Sie über wichtige Änderungen in Bezug auf die CPU eines Droplets zu informieren.

Voraussetzungen

Die beiden Dienstprogramme "+ uptime " und " top +" sind als Teil der Standardinstallation der meisten Linux-Distributionen verfügbar. Um die Vorteile von DigitalOcean-Funktionen wie Warnungsrichtlinien nutzen zu können, benötigen Sie ein DigitalOcean-Droplet mit aktivierter Überwachung.

In der Anleitung https://www.digitalocean.com/community/tutorials/installations- und verwendungsanleitung für den Digitalocean-Agenten zum Überwachen von Fraps Aktivieren Sie die Überwachung für ein neues Droplet sowie das Hinzufügen des Überwachungsagenten zu einem bereits ausgeführten Droplet.

Hintergrund

Bevor wir uns mit den Details der Überwachung von "+ Uptime ", " Top +" und "DigitalOcean" befassen, werden wir untersuchen, wie die CPU-Auslastung gemessen wird und welche Art von Mustern wünschenswert sind.

CPU-Auslastung vs. CPU-Auslastung

CPU-Auslastung und CPU-Auslastung sind zwei unterschiedliche Methoden, um die Verwendung der Rechenleistung eines Computers zu untersuchen.

Um den Hauptunterschied zwischen beiden zu erfassen, können wir uns die Verarbeiter als Kassierer in einem Lebensmittelgeschäft und die Aufgaben als Kunden vorstellen. * CPU-Auslastung * ist wie eine einzelne Kasse, in der Kunden darauf warten, dass die nächste Kasse verfügbar ist. Die Last ist im Wesentlichen eine Zählung der Anzahl der anstehenden Personen, einschließlich der Personen an den Kassen. Je länger die Leitung, desto länger die Wartezeit. Im Gegensatz dazu ist * CPU-Auslastung * nur davon betroffen, wie beschäftigt die Kassierer sind, und hat keine Ahnung, wie viele Kunden in der Schlange warten.

Insbesondere müssen die Tasks anstehen, um die CPUs des Servers zu verwenden. Wenn man an der Spitze der Warteschlange ankommt, wird eine bestimmte Verarbeitungszeit eingeplant. Wenn es abgeschlossen ist, wird es beendet. Andernfalls kehrt es zum Ende der Warteschlange zurück. In beiden Fällen ist die nächste Aufgabe an der Reihe.

  • CPU-Auslastung * ist die Länge der Warteschlange für geplante Tasks, einschließlich der Tasks, die gerade verarbeitet werden. Aufgaben können innerhalb von Millisekunden umgeschaltet werden. Daher ist eine einzelne Momentaufnahme der Last nicht so nützlich wie der Durchschnitt mehrerer Messungen über einen bestimmten Zeitraum. Daher wird der Lastwert häufig als * Lastdurchschnitt * angegeben.

Die CPU-Auslastung gibt Auskunft darüber, wie viel CPU-Zeit benötigt wird. Eine hohe Nachfrage kann zu Konflikten um die CPU-Zeit und zu Leistungseinbußen führen.

  • CPU Utilization * hingegen gibt an, wie beschäftigt die CPUs sind, ohne dass bekannt ist, wie viele Prozesse auf sie warten. Das Überwachen der Auslastung kann Trends im Zeitverlauf anzeigen, Spitzen hervorheben und dabei helfen, unerwünschte Aktivitäten zu identifizieren.

Nicht normalisierte vs normalisierte Werte

Auf einem Einzelprozessorsystem beträgt die Gesamtkapazität immer 1. Auf einem Multiprozessorsystem können die Daten auf zwei verschiedene Arten angezeigt werden. Die Gesamtkapazität aller Prozessoren wird unabhängig von der Anzahl der Prozessoren zu 100% gezählt. Dies wird als * normalisiert * bezeichnet. Die andere Option besteht darin, jeden Prozessor als eine Einheit zu zählen, sodass ein System mit 2 Prozessoren voll genutzt wird Bei 200% Kapazität ist ein 4-Prozessor-System voll ausgelastet, bei 400% Kapazität und so weiter.

Um die CPU-Auslastung oder die Auslastung korrekt zu interpretieren, müssen wir wissen, über wie viele Prozessoren der Server verfügt.

Anzeigen von CPU-Informationen

Wir können den Befehl "+ nproc " mit der Option " - all " verwenden, um die Anzahl der Prozessoren anzuzeigen. Ohne das Flag " - all +" wird die Anzahl der für den aktuellen Prozess verfügbaren Verarbeitungseinheiten angezeigt, die geringer ist als die Gesamtzahl der Prozessoren, sofern diese verwendet werden.

nproc --all
Output of nproc2

Auf den meisten modernen Linux-Distributionen können wir auch den Befehl + lscpu + verwenden, der nicht nur die Anzahl der Prozessoren, sondern auch die Architektur, den Modellnamen, die Geschwindigkeit und vieles mehr anzeigt:

lscpu
Output of lscpuArchitecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian

On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             2
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 63
Model name:            Intel(R) Xeon(R) CPU E5-2650L v3 @ 1.80GHz
Stepping:              2
CPU MHz:               1797.917
BogoMIPS:              3595.83
Virtualization:        VT-x
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              30720K
NUMA node0 CPU(s):     0,1
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm vnmi ept fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat

Die Anzahl der Prozessoren zu kennen, ist wichtig, um zu verstehen, was die CPU-bezogene Ausgabe verschiedener Tools tatsächlich bedeutet.

Was sind die optimalen Werte für Belastung und Auslastung?

Die optimale CPU-Auslastung hängt von der Art der Arbeit ab, die der Server ausführen soll. Anhaltend hohe CPU-Auslastung geht mit weniger reaktionsschneller Interaktivität mit dem System einher. Für rechenintensive Anwendungen und Batch-Jobs ist es häufig angebracht, dass sie konstant mit oder nahe der vollen Kapazität ausgeführt werden. Wenn jedoch erwartet wird, dass das System Webseiten bereitstellt oder reaktionsschnelle interaktive Sitzungen für Dienste wie SSH bereitstellt, kann es wünschenswert sein, über eine gewisse freie Verarbeitungsleistung zu verfügen.

Wie bei vielen Aspekten der Leistung sind das Erkennen der spezifischen Anforderungen der Dienste im System und das Überwachen unerwarteter Änderungen der Schlüssel zur Optimierung der Ressourcen.

Überwachung der CPU

Es gibt eine Vielzahl von Tools, die einen Einblick in den CPU-Status eines Systems geben. Wir werden uns zwei Befehle ansehen, "+ uptime " und " top +". Beide sind Teil der Standardinstallation der gängigsten Linux-Distributionen und werden häufig bei Bedarf verwendet, um die CPU-Auslastung und -Nutzung zu untersuchen. In den folgenden Beispielen untersuchen wir das oben beschriebene 2-Kern-Droplet.

Betriebszeit

Wir beginnen mit dem Befehl "+ uptime +", um die CPU-Auslastung zu ermitteln. Dieser Befehl zeigt zwar nur den Durchschnitt der CPU-Auslastung an, kann jedoch hilfreich sein, wenn ein System langsam auf interaktive Abfragen reagiert, da er nur wenige Systemressourcen benötigt.

Verfügbarkeit zeigt:

  • Die Systemzeit zum Zeitpunkt der Befehlsausführung

  • wie lange der Server gelaufen war

  • wie viele Verbindungen Benutzer zur Maschine hatten

  • Der Durchschnitt der CPU-Auslastung in den letzten 1, 5 und 15 Minuten.

uptime
Output 14:08:15 up 22:54,  2 users,  load average: 2.00, 1.37, 0.63

In diesem Beispiel wurde der Befehl um 14.08 Uhr auf einem Server ausgeführt, der fast 23 Stunden lang aktiv war. Zwei Benutzer waren verbunden, als "+ Uptime +" ausgeführt wurde. Da dieser Server in der Minute vor Ausführung des Befehls über 2 CPUs verfügt, bedeutet der CPU-Lastdurchschnitt von 2,00, dass in dieser Minute durchschnittlich zwei Prozesse die CPUs verwendeten und keine Prozesse warteten. Der 5-Minuten-Durchschnitt der Auslastung gibt an, dass sich in einem Teil dieses Intervalls etwa 60% der Zeit ein Prozessor im Leerlauf befand. Der 15-Minuten-Wert zeigt an, dass noch mehr Verarbeitungszeit verfügbar war. Die drei Zahlen zusammen zeigen einen Anstieg der Belastung in den letzten fünfzehn Minuten.

Uptime bietet einen hilfreichen Blick auf den Lastdurchschnitt. Um jedoch detailliertere Informationen zu erhalten, wenden wir uns an die Spitze.

top

Wie + uptime + ist top sowohl auf Linux- als auch auf Unix-Systemen verfügbar. Zusätzlich zur Anzeige der Lastmittelwerte für voreingestellte historische Intervalle bietet es periodische Informationen zur CPU-Auslastung in Echtzeit sowie andere relevante Leistungsmetriken. Während + uptime + ausgeführt und beendet wird, bleibt top im Vordergrund und wird in regelmäßigen Abständen aktualisiert.

top
  • Der Header-Block * + Die ersten fünf Zeilen enthalten zusammenfassende Informationen zu Prozessen auf dem Server:

Outputtop - 18:31:30 up 1 day,  3:17,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 114 total,   1 running, 113 sleeping,   0 stopped,   0 zombie
%Cpu(s):  7.7 us,  0.0 sy,  0.0 ni, 92.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.1 st
KiB Mem :  4046532 total,  3238884 free,    73020 used,   734628 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  3694712 avail Mem
  • Die erste Zeile ist fast identisch mit der Ausgabe von "+ Uptime ". Wie " Uptime " werden die Durchschnittswerte für eine, fünf und fünfzehn Minuten angezeigt. Der einzige Unterschied zwischen dieser Zeile und der Ausgabe von " uptime " besteht darin, dass am Anfang der Zeile der Befehlsname " top " angezeigt wird und die Uhrzeit jedes Mal aktualisiert wird, wenn " top +" die Daten aktualisiert.

  • Die zweite Zeile enthält eine Zusammenfassung des Status der Aufgaben: die Gesamtzahl der Prozesse, gefolgt von der Anzahl der ausgeführten, schlafenden, angehaltenen oder Zombie-Prozesse.

  • Die dritte Zeile gibt Auskunft über die CPU-Auslastung. Diese Zahlen werden normalisiert und als Prozentsätze angezeigt (ohne das% -Symbol), sodass alle Werte in dieser Zeile unabhängig von der Anzahl der CPUs 100% ergeben sollten.

  • Die vierte und fünfte Zeile der Header-Informationen geben Aufschluss über die Speicher- bzw. Auslagerungsnutzung.

Schließlich folgt auf den Header-Block eine Tabelle mit Informationen zu den einzelnen Prozessen, die wir uns gleich ansehen werden.

Im folgenden Beispiel-Header-Block übersteigt der 1-Minuten-Durchschnitt die Anzahl der Prozessoren um 0,77, was auf eine kurze Warteschlange mit etwas Wartezeit hinweist. Die gesamte CPU-Kapazität ist zu 100% ausgelastet und es ist ausreichend Speicher verfügbar.

Output
Tasks: 117 total,   3 running, 114 sleeping,   0 stopped,   0 zombie

KiB Mem :  4046532 total,  3244112 free,    72372 used,   730048 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  3695452 avail Mem
. . .

Sehen wir uns die einzelnen Felder in der CPU-Zeile genauer an:

  • * us, user: zeitaufwändige eingeschränkte benutzerprozesse *
    Diese Kategorie bezieht sich auf Benutzerprozesse, die ohne explizite Planungspriorität gestartet wurden. + Insbesondere Linux-Systeme https://www.digitalocean.com/community/tutorials/how-to-use-ps-kill-and-nice-to-manage-processes-in-linux#how-to-adjust- Prozessprioritäten [Verwenden Sie den Befehl "+ nice ", um die Planungspriorität eines Prozesses festzulegen], so dass "ungekürzt" bedeutet, dass " nice +" nicht zum Ändern des Standardwerts verwendet wurde. Die Werte * user * und * nice * berücksichtigen alle Benutzerprozesse. Eine hohe CPU-Auslastung in dieser Kategorie kann auf einen außer Kontrolle geratenen Prozess hindeuten. Anhand der Ausgabe in der Prozesstabelle können Sie feststellen, ob dies der Fall ist.

  • * sy, system: zeitgesteuerte Kernelprozesse *
    Die meisten Anwendungen haben sowohl Benutzer- als auch Kernelkomponenten. Wenn der Linux-Kernel Systemaufrufe tätigt, Berechtigungen überprüft oder im Auftrag einer Anwendung mit Geräten interagiert, wird hier die CPU-Auslastung des Kernels angezeigt. Wenn ein Prozess seine eigene Arbeit leistet, wird er entweder in der oben beschriebenen * user * -Figur oder, wenn seine Priorität explizit mit dem Befehl + nice + festgelegt wurde, in der folgenden * nice * -Figur angezeigt.

  • * ni, nice: zeitaufwändige gekonnte Benutzerprozesse *
    Wie * user * bezieht sich dies auf Prozessaufgaben, an denen der Kernel nicht beteiligt ist. Im Gegensatz zu * user * wurde die Planungspriorität für diese Aufgaben explizit festgelegt. In der vierten Spalte der Prozesstabelle unter der Überschrift * NI * ist der Grad der Genauigkeit eines Prozesses angegeben. Prozesse mit einem Wert zwischen 1 und 20, die viel CPU-Zeit verbrauchen, sind im Allgemeinen kein Problem, da Aufgaben mit normaler oder höherer Priorität in der Lage sind, Verarbeitungsleistung zu erhalten, wenn sie benötigt werden. Wenn jedoch Tasks mit einem erhöhten Funktionsumfang zwischen -1 und -20 übermäßig viel CPU beanspruchen, kann dies die Reaktionsfähigkeit des Systems beeinträchtigen und weitere Untersuchungen erforderlich machen. Beachten Sie, dass viele Prozesse, die mit der höchsten Planungspriorität (-19 oder -20, je nach System) ausgeführt werden, vom Kernel erzeugt werden, um wichtige Aufgaben auszuführen, die sich auf die Systemstabilität auswirken. Wenn Sie sich bei den angezeigten Prozessen nicht sicher sind, sollten Sie sie untersuchen, anstatt sie zu töten.

  • * id, idle: Zeit, die im Kernel-Idle-Handler verbracht wurde *
    Diese Zahl gibt den Prozentsatz der Zeit an, in der die CPU sowohl verfügbar als auch inaktiv war. Ein System ist in Bezug auf die CPU im Allgemeinen in gutem Zustand, wenn die kombinierten Werte für * user *, * nice * und * idle * nahe 100% liegen.

  • * wa, IO-wait: Zeit, die auf den Abschluss der E / A wartet *
    Die E / A-Wartezahl zeigt an, wann ein Prozessor eine Lese- oder Schreibaktivität gestartet hat und auf den Abschluss der E / A-Operation wartet. Lese- / Schreibaufgaben für Remote-Ressourcen wie NFS und LDAP werden auch beim Warten auf E / A gezählt. Wie die Leerlaufzeit sind Spitzen hier normal, aber jede Art von häufiger oder anhaltender Zeit in diesem Zustand deutet auf eine ineffiziente Aufgabe, ein langsames Gerät oder ein potenzielles Festplattenproblem hin.

  • * hi: Zeitaufwand für die Wartung von Hardware-Interrupts *
    Dies ist die Zeit, die für physische Interrupts aufgewendet wird, die von Peripheriegeräten wie Festplatten und Hardware-Netzwerkschnittstellen an die CPU gesendet werden. Wenn der Wert für * Hardware-Interrupt * hoch ist, funktioniert eines der Peripheriegeräte möglicherweise nicht richtig.

  • * si: Zeitaufwand für die Wartung von Software-Interrupts *
    Software-Interrupts werden eher von Prozessen als von physischen Geräten gesendet. Im Gegensatz zu Hardware-Interrupts, die auf CPU-Ebene auftreten, treten Software-Interrupts auf Kernel-Ebene auf. Wenn der * Software-Interrupt * -Wert viel Rechenleistung verbraucht, untersuchen Sie die spezifischen Prozesse, die die CPU verwenden.

  • * st: Zeit, die der Hypervisor von diesem VM gestohlen hat *
    Der Wert "stehlen" gibt an, wie lange eine virtuelle CPU auf eine physische CPU wartet, während der Hypervisor sich selbst oder eine andere virtuelle CPU wartet. Im Wesentlichen gibt die CPU-Auslastung in diesem Feld an, wie viel Prozessorleistung Ihre VM verwendet werden kann, welche jedoch für Ihre Anwendung nicht verfügbar ist, da sie vom physischen Host oder einer anderen virtuellen Maschine verwendet wird. Im Allgemeinen ist es kein Grund zur Sorge, kurzzeitig einen Wert von bis zu 10% zu sehen. Größere Mengen an Diebstahl für längere Zeiträume können darauf hinweisen, dass der physische Server mehr CPU-Bedarf hat, als er unterstützen kann.

Nachdem wir uns die Zusammenfassung der CPU-Auslastung im Header-Block "+ top +" angesehen haben, werfen wir einen Blick auf die Prozesstabelle darunter und achten auf die CPU-spezifischen Spalten.

  • Die Prozesstabelle * + Alle auf dem Server ausgeführten Prozesse werden in jedem Status unter dem Übersichtsblock aufgelistet. Das folgende Beispiel enthält die ersten sechs Zeilen der Prozesstabelle aus dem Befehl "+ top" im obigen Abschnitt. Standardmäßig ist die Prozesstabelle nach% CPU sortiert, sodass zuerst die Prozesse angezeigt werden, die die meiste CPU verbrauchen.

Output
 PID USER      PR  NI    VIRT    RES    SHR S   %MEM     TIME+ COMMAND
9966 sammy     20   0    9528     96      0 R    0.0   0:40.53 stress
9967 sammy     20   0    9528     96      0 R    0.0   0:40.38 stress
   7 root      20   0       0      0      0 S     0.0   0:01.86 rcu_sched
1431 root      10 -10    7772   4556   2448 S     0.1   0:22.45 iscsid
9968 root      20   0   42556   3604   3012 R     0.1   0:00.08 top
9977 root      20   0   96080   6556   5668 S     0.2   0:00.01 sshd
...

Der Prozentsatz der CPU wird als Prozentwert angegeben, ist jedoch nicht normalisiert. In diesem Zwei-Kern-System sollte sich die Summe aller Werte in der Prozesstabelle zu 200% summieren, wenn beide Prozessoren voll ausgelastet sind.

Bisher haben wir uns mit zwei Linux-Befehlen befasst, mit denen häufig die CPU-Auslastung und die CPU-Auslastung untersucht werden. Im nächsten Abschnitt beschäftigen wir uns mit den CPU-Überwachungstools, die für DigitalOcean Droplets kostenlos erhältlich sind.

DigitalOcean Monitoring für die CPU-Auslastung

Standardmäßig zeigen alle Droplets Diagramme zu Bandbreite, CPU und Festplatten-E / A an, wenn Sie in der Systemsteuerung auf den Droplet-Namen klicken:

image: https://assets.digitalocean.com/articles/monitor-cpu/droplet-control.png [Screenshot eines Droplet-Namens in der Systemsteuerung]

Diese Grafiken veranschaulichen die Nutzung der einzelnen Ressourcen in den letzten 6 Stunden, 24 Stunden, 7 Tagen und 24 Stunden. Das CPU-Diagramm enthält Informationen zur CPU-Auslastung. Die dunkelblaue Linie zeigt die CPU-Nutzung durch Benutzerprozesse an. Das Hellblau zeigt die CPU-Nutzung durch Systemprozesse an. Die Werte in den Diagrammen und ihre Details sind normalisiert, sodass die Gesamtkapazität unabhängig von der Anzahl der virtuellen Kerne 100% beträgt.

In den Diagrammen können Sie sehen, ob eine zeitweilige oder anhaltende Änderung der Auslastung vorliegt, und Sie können Änderungen im CPU-Auslastungsmuster eines Servers erkennen.

Zusätzlich zu diesen Standarddiagrammen können Sie den DigitalOcean Agent auf einem Droplet installieren, um zusätzliche Daten zu erfassen und anzuzeigen. Mit dem Agenten können Sie auch Warnungsrichtlinien für das System festlegen. https://www.digitalocean.com/community/tutorials/installationsanleitung-und-verwendung-des-digitalocean-agenten-zum-Überwachen von AbschnittenInstallation und Verwendung des DigitalOcean-Agenten für die Überwachung] kann Ihnen dabei helfen, die Einstellungen vorzunehmen Nach oben.

Sobald der Agent installiert ist, können Sie Warnungsrichtlinien festlegen, um Sie über die Ressourcennutzung zu informieren. Die von Ihnen gewählten Schwellenwerte hängen von der Arbeitsbelastung ab.

Beispielwarnungen

  • Überwachung auf Änderungen: CPU über 1% * + Wenn Sie ein Droplet hauptsächlich zum Integrieren und Einweichen von Testcode verwenden, können Sie eine Warnung festlegen, die nur geringfügig über den historischen Mustern liegt, um festzustellen, ob der auf den Server übertragene neue Code die CPU erhöht hat Verwendungszweck. In der obigen Grafik, in der die CPU niemals 1% erreicht, kann ein Schwellenwert von 1% CPU-Auslastung für 5 Minuten eine frühzeitige Warnung vor codebasierten Änderungen darstellen, die sich auf die CPU-Auslastung auswirken.

image: https://assets.digitalocean.com/articles/monitor-cpu/low-alert.png [Screenshot des Formulars für Warnungsrichtlinien, das mit den Werten im vorherigen Absatz ausgefüllt wurde]

Bei den meisten Systemen besteht eine gute Chance, dass dieser Schwellenwert völlig unangemessen ist. Wenn Sie jedoch die Dauer anpassen und einen Schwellenwert festlegen, der etwas über der durchschnittlichen aktuellen Last liegt, können Sie frühzeitig feststellen, ob sich neuer Code oder neue Dienste auf die CPU-Auslastung auswirken.

  • Überwachung für eine Notfallsituation: CPU-Auslastung über 90% * + Möglicherweise möchten Sie auch einen Schwellenwert festlegen, der weit über dem Durchschnitt liegt, den Sie als kritisch erachten und der eine sofortige Untersuchung rechtfertigen würde. Wenn beispielsweise ein Server, auf dem regelmäßig fünf Minuten lang eine anhaltende CPU-Auslastung von 50% auftrat, plötzlich auf 90% anstieg, sollten Sie sich sofort anmelden, um die Situation zu untersuchen. Auch hier sind die Schwellenwerte spezifisch für die Auslastung des Systems.

Fazit

In diesem Artikel haben wir uns mit + uptime + und + top + befasst, zwei gängigen Linux-Dienstprogrammen, die Einblicke in die CPU auf Linux-Systemen bieten, sowie mit DigitalOcean Monitoring, um die historische CPU-Auslastung auf einem Droplet zu ermitteln und zu überprüfen warnen Sie vor Änderungen und Notfällen.