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.
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
Um detalhe do título: «perda de memória»
Obrigado pela observação. Felicidades! 🙂
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!
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 😀
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?