Red Hat Training

A Red Hat training course is available for RHEL 8

42.3. Configuração do kdump na linha de comando

42.3.1. Configuração do uso da memória kdump

A memória para kdump é reservada durante a inicialização do sistema. O tamanho da memória é configurado no arquivo de configuração do Grand Unified Bootloader (GRUB) 2 do sistema. O tamanho da memória depende do valor crashkernel= especificado no arquivo de configuração e do tamanho da memória física do sistema.

A opção crashkernel= pode ser definida de várias maneiras. Você pode especificar o valor crashkernel= ou configurar a opção auto. A opção crashkernel=auto boot, reserva a memória automaticamente, dependendo da quantidade total de memória física do sistema. Quando configurado, o kernel reservará automaticamente uma quantidade apropriada de memória necessária para o kernel kdump. Isto ajuda a evitar a ocorrência de erros fora da memória (OOM).

Nota

A alocação automática de memória para kdump varia de acordo com a arquitetura de hardware do sistema e o tamanho da memória disponível.

Por exemplo, no AMD64 e Intel 64, o parâmetro crashkernel=auto só funciona quando a memória disponível é superior a 1GB e a arquitetura ARM de 64 bits e os sistemas IBM Power Systems têm memória disponível superior a 2GB.

Se o sistema tiver menos do que o limite mínimo de memória para alocação automática, você pode configurar manualmente a quantidade de memória reservada.

Pré-requisitos

Procedimento

  1. Edite o arquivo /etc/default/grub usando as permissões de raiz.
  2. Defina a opção crashkernel= para o valor requerido.

    Por exemplo, para reservar 128 MB de memória, use o seguinte:

    crashkernel=128M

    Alternativamente, você pode definir a quantidade de memória reservada para uma variável, dependendo da quantidade total de memória instalada. A sintaxe da reserva de memória em uma variável é crashkernel=<range1>:<size1>,<range2>:<size2>. Por exemplo:

    crashkernel=512M-2G:64M,2G-:128M

    O exemplo acima reserva 64 MB de memória se a quantidade total de memória do sistema for 512 MB ou superior e inferior a 2 GB. Se a quantidade total de memória for superior a 2 GB, 128 MB são reservados para kdump.

    • Deslocar a memória reservada.

      Alguns sistemas exigem reservar memória com um certo deslocamento fixo, uma vez que a reserva de crashkernel é muito cedo, e quer reservar alguma área para uso especial. Se o offset for definido, a memória reservada começa lá. Para compensar a memória reservada, use a seguinte sintaxe:

      crashkernel=128M@16M

      O exemplo acima significa que kdump reserva 128 MB de memória a partir de 16 MB (endereço físico 0x01000000). Se o parâmetro de desvio for ajustado para 0 ou omitido completamente, kdump compensa automaticamente a memória reservada. Esta sintaxe também pode ser usada ao definir uma reserva de memória variável como descrito acima; neste caso, o offset é sempre especificado por último (por exemplo, crashkernel=512M-2G:64M,2G-:128M@16M).

  3. Use o seguinte comando para atualizar o arquivo de configuração do GRUB2:

    # grub2-mkconfig -o /boot/grub2/grub.cfg
Nota

A forma alternativa de configurar a memória para kdump é anexar o crashkernel=<SOME_VALUE> para a variável kernelopts com o grub2-editenv que atualizará todas as suas entradas de inicialização. Ou você pode usar o utilitário grubby para atualizar os parâmetros de linha de comando do kernel de apenas uma entrada.

Recursos adicionais