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).
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
-
Cumpridos os requisitos
kdump
Procedimento
-
Edite o arquivo
/etc/default/grub
usando as permissões de raiz. 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
).
Use o seguinte comando para atualizar o arquivo de configuração do GRUB2:
# grub2-mkconfig -o /boot/grub2/grub.cfg
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
-
Para mais informações sobre entradas de inicialização,
kernelopts
, e como trabalhar comgrub2-editenv
egrubby
veja Configurando os parâmetros de linha de comando do kernel.
-
A opção
crashkernel=
pode ser definida de várias maneiras. O valorauto
permite a configuração automática da memória reservada com base na quantidade total de memória no sistema, seguindo as diretrizes descritas em Requisitos de memória para kdump. -
Para mais informações sobre entradas de inicialização,
kernelopts
, e como trabalhar comgrub2-editenv
egrubby
veja Configurando os parâmetros de linha de comando do kernel.