tencent cloud

Cloud Virtual Machine

DocumentaçãoCloud Virtual MachineSolução de falhasFalha de memória em instâncias LinuxErro de log fork: Não é possível alocar memória para instância Linux

Erro de log fork: Não é possível alocar memória para instância Linux

PDF
Modo Foco
Tamanho da Fonte
Última atualização: 2024-01-24 10:06:02

Descrição do erro

O log apresenta a mensagem de erro “fork: Cannot allocate memory (fork: Não é possível alocar memória)”.



Possíveis causas

Esse problema pode ser causado por threads excessivas. Se uma nova thread for criada após o valor de pid_max ser atingido, a mensagem de erro “fork: Cannot allocate memory (fork: Não é possível alocar memória)” será exibida.

Soluções

1. Consulte o procedimento de solução de problemas para verificar o consumo de memória.
2. Verifique a quantidade de threads e modifique a configuração de pid_max.

Procedimento de solução de problemas

1. Verifique o consumo de memória conforme indicado em Alto consumo de memória. Se o consumo de memória estiver normal, vá para a próxima etapa.
2. Execute o comando a seguir para obter o valor de pid_max.
sysctl -a | grep pid_max
O valor padrão de pid_max é 32768, conforme abaixo:


3. Execute o comando a seguir para exibir a quantidade total de threads.
pstree -p | wc -l
Quando a quantidade total de threads atingir pid_max, uma nova thread causará o erro “fork: Cannot allocate memory (fork: Não é possível alocar memória)”.
Nota:
Você pode usar o comando ps -efL para localizar os programas para os quais muitas threads estão sendo executadas.
4. Altere o valor de kernel.pid_max no arquivo de configuração /etc/sysctl.conf para 65535, para aumentar a quantidade de threads. O resultado deve ser o seguinte:


5. Execute o comando a seguir para a configuração entrar em vigor.
sysctl -p


Ajuda e Suporte

Esta página foi útil?

comentários