Corrigir o erro “Não é possível alocar memória” durante uma atualização do sistema SLES.

A atualização do SLES parece estar progredindo, mas então um terminal, instalador ou log de migração reporta a mensagem “Não é possível alocar memória”. Essa mensagem, por si só, não comprova que o servidor precisa de mais RAM física. A falha pode ser causada por pressão de memória, limite de máquina virtual ou serviço, swap ausente ou inutilizável, ou pelo próprio ambiente de atualização. Primeiro, identifique qual processo e fase da atualização geraram a mensagem; a solução segura depende desse detalhe.

A versão é importante. Em outubro de 2026, o guia de atualização de versão principal do SLES 16.0 da SUSE descreve um sistema de migração de distribuição que inicializa uma imagem de atualização dedicada, enquanto as migrações de service pack do SLES 15 usam o fluxo de trabalho de migração estabelecido do YaST ou Zypper. Não aplique uma correção destinada a uma migração online de service pack a uma atualização de versão principal sem verificar o procedimento da sua versão. A SUSE documenta o caminho atual do SLES 16 em seu guia de atualização do SLES 16 .

1. Identifique a fase problemática antes de fazer qualquer alteração.

Registre o erro completo, o carimbo de data/hora, o comando ou a tela em que ele apareceu e se o sistema foi reiniciado em um instalador ou imagem de migração. "Não é possível alocar memória" é um erro genérico do sistema operacional, portanto, as linhas adjacentes costumam ser mais úteis do que a mensagem sozinha.

  • Antes do início da transação do pacote: um processo de registro, repositório, preparação de migração ou instalação pode estar falhando. Verifique a memória do sistema e dos processos e, em seguida, revise o log de serviço ou migração relevante.
  • Enquanto pacotes estão sendo instalados ou removidos: Zypper e RPM podem já ter alterado o sistema. Não encerre o processo, reinicie o computador ou inicie um segundo gerenciador de pacotes apenas porque o progresso parece lento. Verifique o console e os logs e permita que o processo de migração suportado seja concluído ou chegue a um estado de falha claro.
  • Após uma reinicialização para uma imagem de atualização: o processo pode estar sendo executado com um ambiente de recursos diferente do sistema operacional original. Uma área de swap visível antes da reinicialização não comprova que a imagem de atualização possa utilizá-la.

A sequência de migração do SLES 16 da SUSE prepara o ambiente de migração, monta os sistemas de arquivos, configura a rede, prepara o Zypper, atualiza os pacotes, atualiza o carregador de inicialização e reinicia o sistema. O guia afirma que um erro antes do início da atualização reverte o sistema ao seu estado original; isso não significa que todo erro durante a substituição de pacotes seja inofensivo. Preserve os logs e evite etapas de recuperação manual até que você saiba qual etapa falhou.

2. Verifique a RAM, a memória de troca (swap) e as mensagens recentes do kernel.

Se o sistema SLES original ainda estiver em execução ou se você tiver alcançado um shell de recuperação, comece com verificações somente leitura:

free -h
swapon --show
vmstat 1 5
ps -eo pid,comm,rss,%mem --sort=-rss | head -n 15

free -hResume a memória e o swap. Concentre-se na memória disponível e no swap utilizado, não apenas na coluna "livre": o Linux usa a RAM ociosa para caches. vmstatAjuda a mostrar se a máquina está paginando continuamente. A lista de processos pode revelar um banco de dados, serviço Java, backup ou outra carga de trabalho consumindo memória durante a atualização.

Procure por registros de falta de memória (OOM) do kernel próximos ao horário do erro:

sudo journalctl -k --since "30 minutes ago" |
  grep -i -E 'out of memory|oom|killed process'

Se o erro ocorreu antes, altere o intervalo de tempo. Uma mensagem do kernel que menciona um processo finalizado é evidência de um evento de falta de memória; a ausência de uma linha correspondente não descarta todas as falhas de alocação. Se a atualização for realizada em um ambiente de produção separado, inspecione os logs desse ambiente, quando disponíveis, em vez de confiar apenas no registro de eventos do sistema antigo.

Verifique também se uma máquina virtual, contêiner ou unidade systemd possui um limite de memória. Um convidado pode ter memória disponível no host, mas ainda assim atingir seu próprio limite configurado. No SLES 16, a SUSE documenta os cgroups v2 como a hierarquia de controle de recursos padrão e explica que o systemd pode aplicar limites de recursos. Revise a configuração relevante da VM ou do serviço MemoryMaxem vez de aumentar os limites globais do kernel aleatoriamente. Consulte o guia de grupos de controle do kernel do SLES 16 da SUSE .

3. Reduza o uso de memória concorrente e tente novamente apenas em um ponto seguro.

Se as medições mostrarem que uma carga de trabalho está utilizando a maior parte da memória disponível, agende uma janela de manutenção e interrompa os serviços não essenciais de forma adequada antes de tentar novamente. Exemplos incluem processos de aplicação que consomem muita memória, tarefas de análise, bancos de dados de teste e processos de backup. Não interrompa serviços de armazenamento, cluster ou aplicação indiscriminadamente em um host de produção; utilize o procedimento de desligamento documentado da aplicação e confirme se a interrupção não afetará os usuários ou uma tarefa de recuperação.

Para uma máquina virtual, compare a RAM configurada do convidado com a capacidade do host e a demanda atual de outros convidados. Se o convidado estiver com recursos insuficientes, aumente a memória alocada usando o método suportado pelo hipervisor. A possibilidade de adicionar memória a quente depende do hipervisor, da configuração do convidado e da carga de trabalho; planeje uma reinicialização, se necessário. Em nuvem pública, verifique o tamanho da instância e quaisquer limites de memória específicos do provedor.

Se a mensagem persistir mesmo com a máquina tendo RAM disponível em abundância e nenhum registro de falta de memória (OOM), investigue os limites do processo. Para um processo ainda em execução, inspecione-o /proc/PID/limitsusando seu ID de processo real. Para um auxiliar de atualização gerenciado pelo systemd, inspecione as configurações de recursos da unidade. Um limite pode restringir um processo mesmo quando o host tem memória livre. Altere um limite somente se você puder identificar a configuração aplicável e entender seu impacto.

Após resolver a restrição identificada, retome ou tente novamente apenas pelo método de atualização compatível com sua versão e caminho de atualização específicos do SLES. Para migração de service packs do SLES 15, use o fluxo de trabalho de migração documentado do YaST ou Zypper. Para migração de versão principal do SLES 16, siga o procedimento de migração de distribuição do SLES 16. O guia do SLES 15 SP7 da SUSE explica o fluxo de trabalho de service packs e os pré-requisitos de reversão compatíveis na documentação de atualização online .

4. Considere a troca com cuidado; não a utilize como uma solução às cegas.

A adição de swap pode fornecer ao sistema mais espaço de memória virtual quando a carga de trabalho pode paginar a memória, mas é muito mais lenta que a RAM. Se a máquina já estiver usando swap intensivamente, adicionar mais swap pode tornar a atualização extremamente lenta sem resolver problemas como VMs subdimensionadas ou limitações de processos isolados. Primeiro, verifique se o swap existe e se está sendo usado swapon --showcorretamente free -h.

Se precisar adicionar swap, siga o procedimento da SUSE para sua versão do SLES e sistema de arquivos. Tenha cuidado especial com o Btrfs: a SUSE documenta as restrições para arquivos de swap no Btrfs e afirma que um snapshot não pode ser criado enquanto um arquivo de swap no subvolume de origem estiver ativo. Como o SLES geralmente depende de snapshots do Snapper para recuperação do sistema, não crie e ative um arquivo de swap genérico no subvolume raiz do snapshot durante uma janela de atualização. Prefira adicionar RAM ou usar uma partição de swap configurada corretamente ou um local compatível após verificar o layout de armazenamento e o plano de recuperação. Os detalhes específicos do sistema de arquivos estão no guia de armazenamento do SLES 15 SP7 da SUSE .

Não altere vm.overcommit_memory, desative o OOM killer nem execute um comando de limpeza arbitrário como primeira resposta. Essas alterações podem mascarar o sintoma, desestabilizar cargas de trabalho ou dificultar a recuperação. Reúna evidências primeiro e siga as orientações específicas da SUSE ou do fornecedor do seu aplicativo se os registros apontarem para uma configuração de memória especializada.

5. Recuperar caso a atualização tenha sido interrompida após o início das alterações do pacote.

Antes de decidir executar uma atualização novamente, verifique se o gerenciador de pacotes ainda está ativo e se a ferramenta de migração relatou uma falha final. Se a atualização foi interrompida após o início das alterações de pacotes, salve o log completo e consulte a documentação de recuperação específica da versão. Não execute os comandos zypper dup` zypper migrationyast migrate`, `yast migration` e `RPM` simultaneamente.

No SLES 15 SP7, a SUSE documenta o procedimento de reversão de service pack quando o sistema de arquivos raiz é Btrfs e os snapshots do Snapper estão habilitados. O procedimento de reversão exige a identificação e o teste do snapshot pré-migração, e então a transformação da reversão em permanente; não é uma solução universal para todos os erros de atualização. A migração de versão principal do SLES 16 segue um fluxo de trabalho diferente, portanto, utilize as instruções de atualização e recuperação atuais, em vez de presumir que o procedimento do SLES 15 se aplica. Se o sistema for crítico para os negócios, não houver um backup testado ou se a migração falhar durante a substituição de pacotes, abra um chamado de suporte da SUSE antes de tentar reparos manuais de pacotes.

6. Verifique o sistema antes de retomar o serviço normal.

Após a conclusão da atualização e a inicialização normal do servidor, verifique a versão e o registro do sistema operacional e, em seguida, verifique a consistência dos pacotes e a carga de trabalho que originalmente expôs o problema:

cat /etc/os-release
sudo SUSEConnect --status
sudo zypper verify
free -h
swapon --show

Use o comando de verificação de pacotes compatível com a sua versão do SLES; se zypper verifyele não estiver disponível ou se comportar de maneira diferente na sua versão, consulte zypper helpo guia de administração da versão. Verifique os logs de aplicativos e do kernel em busca de novos erros, confirme se os serviços pretendidos estão íntegros e monitore a memória e o swap enquanto a carga retorna. Verifique se o destino de atualização compatível foi instalado e se o registro e os repositórios do servidor estão no estado esperado antes de fechar a janela de manutenção.

Uma correção bem-sucedida significa mais do que o desaparecimento de uma mensagem de erro: a migração do SLES é concluída usando um caminho compatível, a máquina inicializa na versão esperada, os pacotes e registros são verificados e as cargas de trabalho normais são executadas sem eventos repetidos de falta de memória (OOM). Se a mensagem "Não é possível alocar memória" retornar apesar da baixa pressão de memória, swap adequado e nenhum limite de recursos, guarde o log preciso e os detalhes do processo — essas pistas distinguem um defeito de atualização de um problema de capacidade.

Deixar um comentário

Corrigindo o Screen Tearing em placas gráficas Intel no Pardus Linux: Um guia focado em resultados

Corrigindo o Screen Tearing em placas gráficas Intel no Pardus Linux: Um guia focado em resultados

Corrija o problema de tearing (rasgo na tela) causado por placas gráficas Intel no Pardus Linux verificando as configurações de X11 vs. Wayland, as configurações do compositor, a taxa de atualização, o driver Xorg ativo e o TearFree somente quando apropriado.

Como configurar o firewall do SLES 15 com o firewall-cmd

Como configurar o firewall do SLES 15 com o firewall-cmd

Configure o firewalld no SLES 15: verifique as zonas, permita serviços ou portas, salve regras permanentes, recarregue com segurança e verifique o acesso.

Guia de configuração de aplicação de patches em tempo real no SLES: Aplique atualizações do kernel sem reiniciar.

Guia de configuração de aplicação de patches em tempo real no SLES: Aplique atualizações do kernel sem reiniciar.

Habilite a aplicação de patches em tempo real no kernel do SLES 15 SP7, aplique correções compatíveis sem reiniciar, verifique os patches ativos e entenda quando ainda é necessário reiniciar o kernel.

Como ativar o modo FIPS no SUSE Linux Enterprise Server 15

Como ativar o modo FIPS no SUSE Linux Enterprise Server 15

Ative o modo FIPS no SLES 15 com o utilitário de configuração compatível com a SUSE, reinicie com segurança, verifique o status do kernel e da política criptográfica e verifique os limites de certificação.

Como instalar o Google Chrome no Gooroom OS sem violar as políticas de segurança

Como instalar o Google Chrome no Gooroom OS sem violar as políticas de segurança

Instale o Google Chrome no Gooroom OS com segurança usando pacotes .deb oficiais, APT, verificações de políticas, orientações de atualização e correções para dispositivos gerenciados.

Como exportar logs do sistema SLES para um servidor Syslog remoto com segurança

Como exportar logs do sistema SLES para um servidor Syslog remoto com segurança

Encaminhe com segurança os logs do sistema SLES para um servidor syslog remoto usando rsyslog, certificados TLS, verificação de nome do par, filas, validação e testes.

Integração do Active Directory do SLES 15 com o SSSD: um guia passo a passo

Integração do Active Directory do SLES 15 com o SSSD: um guia passo a passo

Integre o SLES 15 ao Active Directory com o SSSD usando o YaST. Prepare o DNS e o horário, configure os logins de domínio, verifique o Kerberos e compare o SSSD, o Winbind e o realmd.

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix RTL8821CE Wi-Fi on Pardus Linux by checking the built-in rtw88 driver, Realtek firmware, rfkill, NetworkManager, and safe fallback options.

Corrigir o problema "Falha temporária na resolução de DNS" no Debian 12 com systemd-resolved

Corrigir o problema "Falha temporária na resolução de DNS" no Debian 12 com systemd-resolved

Diagnosticar e corrigir falhas de resolução de DNS no Debian 12 com systemd-resolved, incluindo resolv.conf, NetworkManager, networkd, cache e verificação.

Como instalar o Pardus Linux em dual boot com o Windows 11 de forma segura

Como instalar o Pardus Linux em dual boot com o Windows 11 de forma segura

Instale o Pardus 25.2 ao lado do Windows 11 fazendo um backup, reduzindo o volume do Windows, inicializando a partir de um USB UEFI e protegendo as partições EFI e de recuperação existentes.