Este é um acompanhamento de soluções de limitação de memória para aplicativos gananciosos que podem travar o SO? : ulimit e cgroups não são amigáveis e, além disso, não funcionariam com aplicativos que geram processos separados, como Chrome / Chromium para cada nova (grupo de) guias.
A solução simples e eficaz, usada pelo Windows 7, na verdade, é avisar o usuário que o sistema operacional está com pouca memória. Esse pop-up de aviso simples me impediu de congelar o sistema com pouca memória no Windows, enquanto eu continuava correndo neles nas distros do Ubuntu que estava testando ao vivo (onde o disco montado na RAM consumia apenas 2 GB).
Portanto, existe alguma maneira de alertar automaticamente o usuário que a RAM disponível está chegando a zero, sem que o usuário tenha que ficar de olho em algum dispositivo de monitoramento de memória? Certamente Conky poderia ser configurado para fazer isso?
fonte
free -m
é o caminho a percorrer.Respostas:
Verifique estes scripts: Precisa de alertas no aplicativo / script quando a memória do sistema estiver acabando
PHP:
fonte
available=$(free -m | grep Mem | awk '{print $7}')
). Para fazer o envio de notificação funcionar com o cron, consulte anmolsinghjaggi.wordpress.com/2016/05/11/…LANG=en_US.UTF-8
no início do script bash.Outro script que escrevi para esse fim:
fonte
notify-send
ignora o parâmetro timeout : - / E por que não há documentação sobre o que são as categorias e os ícones de ações? Além disso, as novas linhas são ignoradas e a mensagem é truncada .-u critical
resolve isso.notify-send
, não ignora o tempo limite. É o processo que recebe a observação como entrada e a exibe acima da área de trabalho que decide ignorar o tempo limite. Veja também: unix.stackexchange.com/q/251243/20336Versão atualizada do script que funciona com free from procps-ng 3.3.10
fonte
Atualizado acima do script para também adicionar detalhes dos 3 principais processos que exigem muita memória. Veja em https://github.com/romanmelko/ubuntu-low-mem-popup
Aqui está o próprio script:
fonte
Variante usando RAM disponível , porcentagens e exibe notificações na área de trabalho quando chamadas pelo cron (ou seja, o script de loop não precisa ser iniciado após a reinicialização):
fonte