
O processo nginx continua desligando, aqui estão os erros
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
Eu sei que tem memória RAM suficiente, é um VPS que eu controlo e aumentei sua memória RAM para 4 GB e continua a mesma coisa. É um servidor nginx muito leve, sem PHP, com serviço simples de imagens. Executando o nginx 1.0.15, eu sei que é antigo, mas funcionou por muitos anos sem problemas. Nada mudou neste VPS em anos.
Responder1
fork() failed while spawning "worker process" (12: Cannot allocate memory)
É a pista.
Se você olhar, man 2 fork
poderá descobrir quais condições levam a essa posição.
ENOMEM fork()
falhou ao alocar as estruturas de kernel necessárias porque a memória está pequena.
ENOMEM
Foi feita uma tentativa de criar um processo filho em um namespace PID cujo processo "init" foi finalizado. Veja pid_namespaces(7).
Deve ser uma dessas duas condições. Todo o VPS é reiniciado ao mesmo tempo? Se sim, aí está sua resposta.
Você pode testar isso se não souber, fazendo isso ps -o lstart 1
no contêiner e verificando quando o init
processo foi iniciado.
Caso contrário, se você ainda receber isso quando disser 'memória está apertada', pode ser porque a memória geral do sistema está pequena. Isso não é algo que você possa conhecer em seu contêiner, então você precisará solicitar mais informações ao provedor de hospedagem.
Responder2
Com base na mensagem de erro fornecida, parece que o processo de trabalho está sendo encerrado devido a um signal 9
, que indica um SIGKILL
sinal. Além disso, a mensagem de erro sugere que o fork() system call is failing
, o que significa que o processo não consegue criar um novo processo filho.
A mensagem de erro "Não é possível alocar memória" sugere que o sistema pode estar ficando sem memória, o que pode estar causando falha na chamada do sistema fork(). Uma possível solução para esse problema é aumentar a quantidade de memória disponível para o sistema.
Você pode tentar verificar a memória disponível em seu servidor usando o comando “free -tm”, que exibirá informações sobre a memória disponível e espaço de troca. Se o sistema estiver com pouca memória, pode ser necessário adicionar mais memória ao servidor ou ajustar a configuração do nginx para usar menos memória.
Outra solução possível é reduzir o número de processos de trabalho na configuração do nginx. Você pode fazer isso ajustando a configuração "worker_processes" em seu arquivo nginx.conf. Ao reduzir o número de processos de trabalho, você pode diminuir o uso de memória do seu servidor nginx.
Responder3
Adicionartrocar. Além disso, certifique-se de que não haja nenhum problema de credenciais/privilégios.
Também, referindo-seessepergunta onde algum aplicativo era limitado com a RAM que poderia usar. O que esses trabalhadores fazem? Esta pode ser a sua resposta.
Além disso, você já tentouatualizartudo?