Monitorando memória RAM
Publicado por Sandro Marcell 17/06/2008
[ Hits: 13.836 ]
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 simple backup em Fita DAT
Informação sobre partições montadas em Xdialog
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (0)
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









