Die Amazon EC2-Mikroinstanz hat eine CPU-Auslastung von 100%

9

Meine Amazon EC2-Mikroinstanz hat sehr oft eine 100% ige CPU-Auslastung. Ich habe nur eine WordPress-Installation darauf. Ich bin immer noch im Produktionsmodus, also keine Benutzer, aber ich bekomme 100% CPU-Auslastung.

Weiß jemand, wie man es reduziert? Ich erhalte stündlich Amazon-E-Mail-Benachrichtigungen, die über einen Zeitraum von über 300 Sekunden dauern.

Ich habe meine Datenbank bereits auf RDS verschoben, dieses Problem jedoch nicht gelöst. Es hat es nur ein bisschen besser gemacht. Bevor ich mit meiner Datenbank zu RDS wechselte, stürzte meine Website beim Laden nur einer Webseite immer vollständig ab.

Mein mysqld.log gibt einen Fehler Nr. 12 aus, deshalb habe ich auch innodb_buffer_pool_size = 256M in my.cnf gemacht, aber nichts mitgebracht.

Wäre dankbar für jeden Tipp.

Jaba L.
quelle
1
Sie müssen Ihre Instanz überwachen, um zu sehen, was los ist. Sie sagen nicht, welches Betriebssystem Sie verwenden, aber wenn Linux dann schnell und einfach oben ist. Längerfristig sollten Sie etwas anderes in Betracht ziehen.
user9517
In Linux Top Befehl, welcher Prozess Ihre CPU auffrisst.
Drücken Sie
Danke @lian! Ja, ich benutze Linux. Es ist also normal, dass es nur sehr oft bis zu 100% CPU geht? Ich überwache es bereits mit einem Alarm und erhalte diese nervigen Alarmbenachrichtigungen einige Male am Tag per E-Mail. Meinen Sie damit, dass sich Ec2 nicht lohnt, besonders nicht bei kleinen Paketen, wenn Sie viel investieren? Vielen Dank für Ihre Hilfe
Jaba L
Vielen Dank an @ZVIK für Ihre Hilfe! Könnten Sie es bitte etwas ausführlicher erklären? Ich glaube, ich verstehe es noch nicht richtig. Wo kann ich drücken (Umschalt + P). In der SSH-Befehlszeile? Entschuldigung für meine Unerfahrenheit. Eine andere Sache, die erscheint, ist, dass mein SSH-Terminal nach einer Weile sehr langsam wird. Das Eingeben eines ssh-Befehls und das Erhalten einer Antwort dauert manchmal sehr lange und ist sehr verzögert. Ich denke, das liegt auch an der CPU-Auslastung. Nur durch einen Neustart mit den Befehlen "sudo service httpd stop / start" und "sudo service mysqld restart" kann ich es wieder schneller ausführen. Aber es dauert nicht lange.
Jaba L
@ Jaba LIch nehme an, es gibt einen Speicherverlust im Code
ZVIK

Antworten:

7

Denken Sie daran, die m2.microInstanzen sind genau das - sie sind klein. Jede reale Menge an Last wird sie maximal.

Wie @zvik in seinen Kommentaren hervorhob, sollten Sie herausfinden, welche Prozesse die meisten Speicher- und / oder CPU-Zyklen verbrauchen. Er empfahl das Ausführen top, ein Befehl, der in Linux-Distributionen zu finden ist. Durch Drücken von Shift-Pwerden sie nach CPU-Auslastung sortiert. Sie müssen diese Informationen verwenden, um herauszufinden, wo der Engpass liegt. Wenn hier beispielsweise Apache ausgeführt wird, besteht die Standardkonfiguration für Apache möglicherweise darin, mehr Prozesse zu starten, als der Server kann.

Versuchen Sie topauszuführen und festzustellen, welche Befehle die meisten Ressourcen verbrauchen.

Andrew M.
quelle
1
Ich habe es überprüft und Apache nimmt die meisten Ressourcen in Anspruch. m2.micro wird wirklich so einfach geladen. Ich dachte, ich könnte Mikro für eine kleine Produktionsstätte verwenden, aber das ist leider überhaupt möglich. Vielen Dank für Ihre Hilfe
Jaba L
15

Ihr Problem kann tatsächlich auf "CPU-Diebstahl" zurückzuführen sein, der auf dem gesamten Amazon-Stack (und tatsächlich auf jeder virtualisierten Infrastruktur) auftritt. Weitere Informationen zum CPU-Diebstahl finden Sie hier .

Im Wesentlichen ist Ihre VM inaktiv und Amazon "leiht" einige Ihrer CPU-Zyklen aus, um sie an andere weiterzugeben. Dies ist die Standardpraxis für eine virtualisierte Umgebung, in der physische Serverressourcen wie RAM-Nutzung und CPU-Zyklen häufig stark überlastet sind .

Um nach CPU-Diebstahl zu topsuchen, führen Sie den %sthier hervorgehobenen Wert aus und suchen Sie ihn :

oberste Befehlsausgabe

Wenn dieser Wert nicht Null ist, bedeutet dies, dass die CPU-Zyklen Ihrer VM "ausgeliehen" werden.

Craig Watson
quelle
1
Vielen Dank @ craig-watson für Ihre Antwort. Ich habe gerade% st überprüft und es liegt zwischen 0-5%. Danke auch für den Link, es war sehr informativ
Jaba L