nGinx stürzt immer wieder ab

nGinx stürzt immer wieder ab

Der Nginx-Prozess schaltet sich immer wieder ab. Hier sind die Fehler

2023/04/18 11:47:29 [alert] 11073#0: worker process 11312 exited on signal 9
2023/04/18 11:47:29 [alert] 11073#0: fork() failed while spawning "worker process" (12: Cannot allocate memory)
2023/04/18 11:47:29 [alert] 11073#0: could not respawn worker process

Ich weiß, dass es genug RAM hat, es ist ein VPS, den ich steuere, und ich habe seinen RAM auf 4 GB hochgeschraubt, und immer noch dasselbe. Es ist ein sehr leichter Nginx-Server, kein PHP, einfache Bildbereitstellung. Ich führe Nginx 1.0.15 aus, ich weiß, es ist alt, aber es hat viele Jahre lang problemlos funktioniert. An diesem VPS hat sich seit Jahren nichts geändert.

Antwort1

fork() failed while spawning "worker process" (12: Cannot allocate memory) Ist der Hinweis.

Durch einen Blick man 2 forkkönnen Sie herausfinden, welche Voraussetzungen zu dieser Position geführt haben.

ENOMEM fork()Die erforderlichen Kernelstrukturen konnten aufgrund begrenzten Speichers nicht zugewiesen werden.

ENOMEMEs wurde versucht, einen Kindprozess in einem PID-Namespace zu erstellen, dessen "init"-Prozess beendet wurde. Siehe pid_namespaces(7).

Es sollte eine dieser beiden Bedingungen vorliegen. Wird der gesamte VPS etwa zur gleichen Zeit neu gestartet? Wenn ja, ist das Ihre Antwort.

Wenn Sie dies nicht feststellen können, können Sie es ggf. testen, indem ps -o lstart 1Sie im Container prüfen, wann der initProzess gestartet wurde.

Andernfalls, wenn Sie immer noch die Meldung „Speicher knapp“ erhalten, liegt es möglicherweise daran, dass der Gesamtsystemspeicher knapp ist. Das ist möglicherweise nichts, worüber Sie in Ihrem Container informiert sind, daher müssen Sie weitere Informationen vom Hosting-Anbieter anfordern.

Antwort2

Basierend auf der von Ihnen bereitgestellten Fehlermeldung scheint es, dass der Arbeitsprozess aufgrund eines beendet wird signal 9, was auf ein SIGKILLSignal hinweist. Darüber hinaus deutet die Fehlermeldung darauf hin, dass das fork() system call is failing, was bedeutet, dass der Prozess keinen neuen untergeordneten Prozess erstellen kann.

Die Fehlermeldung „Speicher kann nicht zugewiesen werden“ deutet darauf hin, dass dem System möglicherweise nicht genügend Speicher zur Verfügung steht, was dazu führen könnte, dass der Systemaufruf fork() fehlschlägt. Eine mögliche Lösung für dieses Problem besteht darin, den für das System verfügbaren Speicher zu erhöhen.

Sie können versuchen, den verfügbaren Speicher auf Ihrem Server mit dem Befehl „free -tm“ zu überprüfen. Dadurch werden Informationen zum verfügbaren Speicher und Swap-Speicher angezeigt. Wenn der Speicher des Systems knapp wird, müssen Sie möglicherweise mehr Speicher zu Ihrem Server hinzufügen oder Ihre Nginx-Konfiguration anpassen, um weniger Speicher zu verwenden.

Eine weitere mögliche Lösung besteht darin, die Anzahl der Arbeitsprozesse in Ihrer Nginx-Konfiguration zu reduzieren. Sie können dies tun, indem Sie die Einstellung „worker_processes“ in Ihrer Datei nginx.conf anpassen. Indem Sie die Anzahl der Arbeitsprozesse reduzieren, können Sie den Speicherverbrauch Ihres Nginx-Servers verringern.

Antwort3

Hinzufügentauschen. Stellen Sie außerdem sicher, dass keine Probleme mit den Anmeldeinformationen/Berechtigungen vorliegen.

Auch unter Bezugnahme aufDasFrage, bei der eine App in Bezug auf den verfügbaren RAM eingeschränkt war. Was machen diese Worker? Dies könnte Ihre Antwort sein.

Haben Sie auch versucht,aktualisierenalles?

verwandte Informationen