Liste a nova versão do earlyoom 1.4, um utilitário para evitar travamentos por falta de memória

sala cedo

No início do ano falamos aqui no blog sobre o utilitário Earlyoom, o qual, após uma discussão pelos desenvolvedores do Fedora, foi aceito por usar este utilitário no Fedora 32 como um processo de background, com o qual se pretende melhorar a resposta do sistema à falta de memória e assim evitar travamentos.

Agora, várias semanas depois e Após oito meses de desenvolvimento, o lançamento da nova versão do Earlyoom 1.4 foi anunciado.

Para aqueles que não estão familiarizados com o projeto, eles devem saber que este é um thread de segundo plano que verifica periodicamente a quantidade de memória disponível (MemAvailable, SwapFree) e tenta responder a uma condição de falta de memória em um estágio inicial. O código do projeto é escrito em C e distribuído sob a licença do MIT.

quarto cedo
Artigo relacionado:
Aprimore o tópico para incluir no Fedora 32 para evitar falhas de memória

Se a quantidade de memória disponível for menor do que o valor especificado, Earlyoom vai acabar à força (enviando SIGTERM ou SIGKILL) o processo do processo que consome mais memória (que tem o valor mais alto / proc / * / oom_score), sem o estado do sistema, limpando os buffers do sistema e interferindo no trabalho de troca (OOM (sem memória) driver no kernel é acionado quando a memória de estado baixo já atingiu valores críticos, e geralmente neste apontar que o sistema não está mais respondendo às ações do usuário).

Earlyoom suporta o envio de notificações de processo forçado para a área de trabalho (enviando notificações), e também oferece a capacidade de definir regras nas quais expressões regulares podem ser usadas para especificar os nomes de processos cujo encerramento é preferido (a opção "–prefer") ou paradas que devem ser evitadas (- evitar opção).

O que há de novo no Earlyoom 1.4?

Nesta nova versão são destacadas algumas alterações, das quais É mencionado que trabalho na limpeza do código e que também devido ao carregamento atrasado dos atributos do processo, a lógica de seleção de processos a serem concluídos é acelerada em 50%.

Além disso também redefinição de privilégio de root foi implementada no arquivo do drive "systemd earlyoom.serviço". Essa mudança interrompe a capacidade de receber notificações da GUI.

Para reativar as notificações da GUI, é proposto retornar os direitos de root descomentando a linha «DynamicUser = true".

Embora desativar o root também torne impossível obter informações sobre o consumo de memória durante a montagem / proc Modo hidepid = 1 ou hidepid = 2.

Das outras mudanças que se destacam:

  • O UID do processo encerrado é refletido no registro, além do PID e do nome do processo.
  • Adicionado destaque de log de depuração em cinza claro.
  • Se possível, foi utilizada a declaração de variáveis ​​locais aos blocos.
  • Configuração adicionada PATH_LEN para substituir o valor do tamanho do buffer embutido no código.
  • Possibilidade de iniciar cppcheck sim está disponível.
  • Teste de desempenho "make bench" adicionado.
  • Suite de teste estendida (fazer teste).

Finalmente se você quiser saber mais sobre isso Sobre este lançamento, você pode verificar os detalhes no link a seguir 

Como instalar o earlyoom no Linux?

Para aqueles que estão interessados ​​em experimentar este utilitário, eles podem fazê-lo seguindo as instruções que compartilhamos abaixo.

Earlyoom está localizado dentro dos repositórios de algumas das distribuições do popular Linux, então, no caso do Debian, Ubuntu e quaisquer derivados destes, a instalação pode ser feita com o seguinte comando:

sudo apt install earlyoom

Feito isso, o serviço agora deve ser habilitado com o comando:

sudo systemctl enable earlyoom

E começa com:

sudo systemctl start earlyoom

Para o caso de Fedora e RHEL 8 com EPEL, ele pode ser instalado com o seguinte comando:

sudo dnf install earlyoom

E o serviço é ativado com:

sudo systemctl enable --now earlyoom

Finalmente, no caso do Arch Linux ou qualquer outro derivado deste, a instalação é feita com o seguinte comando:

sudo pacman -S earlyoom

E o serviço é ativado com:

sudo systemctl enable --now earlyoom

Para todas as outras distribuições Linux, eles podem executar a instalação compilando o código do utilitário.

Para obter o código, podemos fazê-lo com o seguinte comando:

git clone https://github.com/rfjakob/earlyoom.git

cd earlyoom

Prosseguimos para compilar com:

make

E nós instalamos (se você tiver Systemd):

sudo make install

Ou para aqueles que não têm Systemd:

sudo make install-initscript

E para usar o serviço, você o faz com:

./earlyoom


5 comentários, deixe o seu

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   infogon dito

    Um detalhe do título: «perda de memória»

    1.    David Orange dito

      Obrigado pela observação. Felicidades! 🙂

  2.   linuxmanr4 dito

    Acho que tem um detalhe com a instalação em Manjaro (derivado do Arch). Não encontrei o pacote nos repositórios normais.

    Portanto, a instalação deve ser feita através do yaourt.

    yaourt earlyoom

    Saudações!

    1.    David Orange dito

      No Arch, ele está dentro do repositório da comunidade que deve ser habilitado no pacman.conf. Da mesma forma que você mencionou, também está no AUR.

      Obrigado pela observação 😀

  3.   Fran Pavon dito

    Olá, quero que este serviço inicie no MXLinux toda vez que ligo o computador sem ter que colocar o comando no terminal, como faço isso?