Monitorando memória RAM
Publicado por Sandro Marcell 17/06/2008
[ Hits: 13.987 ]
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
zSudo v1.1 - Sudo Gráfico Usando Zenity
xpock-dl: baixe vídeos do xpock.com.br
Descobrindo a que tipo de repositório um pacote pertence
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Utilizando a Ferramenta xcheckrestart no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Abrir um arquivo URL pelo Clipper (8)
Seno, Coseno, Tangente em CLIPPER (1)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









