Monitorando memória RAM
Publicado por Sandro Marcell 17/06/2008
[ Hits: 13.909 ]
Homepage: http://sanmarcell.wordpress.com
Simples script que informa ao usuário sobre o alto consumo de memória RAM pelo sistema.
Para executá-lo, basta rodá-lo em segundo-plano e quando o script detectar o alto consumo de RAM, uma janela se abrirá e informará o usuário a respeito.
Para mais detalhes, leia as informações no cabeçalho do script.
Screen que mostra o script em execução:
http://www.vivaolinux.com.br/screenshots/verScreenshot.php?codigo=12320
#!/bin/bash --norc
#
# Simples aviso sobre o alto consumo de memoria RAM.
# Sandro Marcell (sandro_marcell@yahoo.com.br)
#
# Obs.:
# - Este script e executavel somente em modo grafico;
# - Para executa-lo, basta inicializa-lo juntamente com o X ou
# simplesmente executa-lo em segundo-plano;
# - Ao pressionar o botao 'Fechar' da janela que aparecera, o script
# sera finalizado por completo. Para reativa-lo reinicie a sessao ou
# execute-o novamente em segundo-plano.
# Sinal 'kill' recebido:
trap "break 2 ; exit" 1 2 3 15
# Executavel somente em modo grafico:
[[ -z $DISPLAY ]] && echo "Script executavel somente em modo grafico." && exit 1
# Porcentagem maxima de uso da memoria, antes de emitir aviso:
pct=80
# Tempo (em segundos) para checagem do uso da memoria:
tcm=30
# Tempo (em segundos) de intervalo entre as emissoes dos avisos:
int=10
# Tempo (em segundos) de duracao do aviso na tela:
dur=8
# Determinando valores
_Valores_() {
# Quantidade de memoria RAM no sistema:
local -i tram=$(awk '{print $2}' <(sed -u '2!d' <(free -m)))
# Quantidade de memoria utilizada pelo sistema:
local -i ramu=$(awk '{print $3}' <(sed -u '2!d' <(free -m)))
# Porcentagem de memoria utilizada:
pmu=$((ramu * 100 / tram))
return $pmu
}
# 1 - Loop de checagem de uso da memoria:
while sleep ${tcm}s
do
# 2 - Loop de teste e execucao:
while :
do
# Chamando funcao:
_Valores_
# Comparando valores:
if [ $pmu -gt $pct ]
then
# Aviso ao usuario:
xmessage -buttons Ok:0,Fechar:2 \
-title "Aviso" -timeout $dur -center \
"Atenção: Há pouca memória RAM disponível no momento.
Faça 'top -u \$USER' e finalize os processos desnecessários
para poder liberar mais memória e evitar lentidão no sistema."
# Botao 'Fechar' foi pressionado?
[[ $? == 2 ]] && break 2
# Intervalo para emissao do proximo aviso:
sleep ${int}s
continue
else
# Refazendo checagem:
break
fi
done
done
exit
# Fim
Script simples para encerrar conexões
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Como fazer a instalação do Samba
Como fazer a conversão binária e aplicar as restrições no Linux
Formas seguras de instalar Debian Sid (13)
Malware encontrado em extensões do Firefox. (0)
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









