Ich habe vor Kurzem ein neues Droplet (das einfachste) eingerichtet und führe die React-App mit einem sehr leichten Express-Server mit PM2 aus (der Server lief 16 Stunden mit 0 % CPU-Auslastung und 90 MB RAM).
Ich habe den Server gestartet, es gab keine Probleme, die CPU-Auslastung lag bei etwa 3 % und ich habe die Website getestet, Videos geladen usw. Ich habe ihn über Nacht laufen lassen und als ich die Statistiken geladen habe, zeigten sie, dass das Droplet die CPU in den letzten 10 Stunden oder so zu 100 % genutzt hat und ich konnte sehen, wie die Auslastung innerhalb von ein paar Minuten von 3 % auf volle 100 % stieg.
Beachten Sie, dass meine Website noch keinen Datenverkehr hat und auch die Domain noch nicht vorhanden ist, sodass keine Nutzung erfolgte. Tatsächlich lag die Bandbreite die ganze Zeit bei 0 MBit/s.
Ich habe gerade den pm2-Server neu gestartet und es scheint, als würde die CPU-Auslastung wieder einmal sinken. Warum springt der Droplet ohne Grund auf 100 % CPU-Auslastung, wenn er nicht einmal verwendet wird?
Antwort1
Scheint, als ob das Aktualisieren des Knotens das Problem gelöst hat. Der Knoten auf meinem Droplet war 5 V im Rückstand. Nach dem Aktualisieren läuft der Server einige Stunden lang ohne Probleme
Bearbeiten: Nach einiger Zeit des Betriebs steigt es immer noch zufällig an. Scheint, als ob der SSHD-Befehl das Problem verursacht und ich habe noch keine Möglichkeit gefunden, es zu beheben
Bearbeiten: Ursache: Es scheint, als ob die Node-Get-Funktion das Problem verursacht. Das Entfernen dieser Anfrage und die direkte Ausführung über die Benutzeroberfläche (ohne Aufruf der Back-End-URL) scheint das CPU-Problem zu beheben. Möglicherweise liegt irgendwo im Node-Code ein Leck vor, wenn die Anfrage zurück an die Benutzeroberfläche geleitet wird.
Antwort2
Ich hatte das gleiche Problem und habe jetzt eine Lösung gefunden. Ich hoffe, sie funktioniert für Sie. Tatsächlich hat jemand meine Website mit einem Brute-Force-Angriff angegriffen. Deshalb war meine Website nicht erreichbar und die Grafik zeigt eine CPU-Auslastung von 100 %.
Überprüfen Sie zunächst, welche Anwendung am häufigsten verwendet wird. Geben Sie dazu den Befehl "Spitze" Es wird die CPU-Auslastung in Echtzeit angezeigt. In meinem Fall lag die Auslastung bei 95 % bei PHP-fpm.
Nun müssen Sie Ihre Nginx-Protokolldatei überprüfen. "sudo tail -f /var/log/nginx/access.log"Es wird der Fehler oder die falschen Gateway-Zugangsdaten angezeigt. Jetzt müssen Sie die IP-Adresse kopieren, die oft wiederholt wird, und Sie müssen sie blockieren.
Sie können IP mit diesem Befehl blockieren "iptables -I INPUT -s 35.186.156.199 -j DROP"
Ich hoffe, dieses Problem wird gelöst.