Validar memória RAM e swap

Publicado por euteste da silva (última atualização em 24/11/2014)

[ Hits: 5.400 ]

Download mem.sh




Fiz esse script para trazer informações do uso da memória RAM e swap de forma mais amigável.

  



Esconder código-fonte

#!/bin/bash


function desenharBarra(){

msgMem=$1
valMem=$2
pctVal=$3

   case "$pctVal" in
       [0-9])
           strBar="[ # - - - - - - - - - ]"
       ;;
       1[0-9])
           strBar="[ # # - - - - - - - - ]"
       ;;
       2[0-9])
           strBar="[ # # # - - - - - - - ]"
       ;;
       3[0-9])
           strBar="[ # # # # - - - - - - ]"
       ;;
       4[0-9])
           strBar="[ # # # # # - - - - - ]"
       ;;
       5[0-9])
           strBar="[ # # # # # # - - - - ]"
       ;;
       6[0-9])
           strBar="[ # # # # # # # - - - ]"
       ;;
       7[0-9])
           strBar="[ # # # # # # # # - - ]"
       ;;
       8[0-9])
           strBar="[ # # # # # # # # # - ]"
       ;;
       9[0-9])
           strBar="[ # # # # # # # # # # ]"
       ;;
   esac
   echo "$msgMem ($pctVal%) $strBar $valMem"

}



while read linha;
do
   campo1=$(echo $linha | cut -d " " -f1)

   if [ "$campo1" == "MemTotal:" ];
   then
       MemTotal=$(echo $linha | cut -d " " -f2);
   fi

   if [ "$campo1" == "MemFree:" ];
   then
      MemFree=$(echo $linha | cut -d " " -f2);
   fi

   if [ "$campo1" == "Buffers:" ];
   then
      Buffers=$(echo $linha | cut -d " " -f2);
   fi

   if [ "$campo1" == "Cached:" ];
   then
      Cached=$(echo $linha | cut -d " " -f2);
   fi

   if [ "$campo1" == "SwapTotal:" ];
   then
      SwapTotal=$(echo $linha | cut -d " " -f2);
   fi

   if [ "$campo1" == "SwapFree:" ];
   then
      SwapFree=$(echo $linha | cut -d " " -f2);
   fi


done < /proc/meminfo

MemUsed=$(($MemTotal-$MemFree))

# Calculando o percentual memoria fisica

PctMemFree=$(( $MemFree * 100 / $MemTotal))
PctMemUsed=$(( 100 - $PctMemFree))

# Calculando o percentual do swap.

PctSwapFree=$(( $SwapFree * 100 / $SwapTotal))
PctSwapUsed=$((100 - $PctSwapFree))


# Transformacao para Mbytes

MemTotalMB=$(( $MemTotal / 1024))
MemUsedMB=$((  $MemUsed  / 1024))
MemFreeMB=$((  $MemFree  / 1024))

# Transformacao para Mbytes swap

SwapTotalMB=$(( $SwapTotal / 1024))
SwapFreeMB=$(( $SwapFree / 1024 ))
SwapUsedMB=$(( $SwapTotalMB - $SwapFreeMB ))


printf "Memory Total: %s %s\n" $MemTotalMB "MB"

desenharBarra "Used" "${MemUsedMB} MB" "$PctMemUsed"
desenharBarra "Free" "${MemFreeMB} MB" "$PctMemFree"


printf "\nSwap Memory : %s %s\n" $SwapTotalMB "MB"

desenharBarra "Used" "${SwapUsedMB} MB" "$PctSwapUsed"
desenharBarra "Free" "${SwapFreeMB} MB" "$PctSwapFree"

echo
date

Scripts recomendados

Administração servidor WEB com Dialog

Gerenciamento de logs em servidores de aplicação

Registar automáticamente o dns de uma maquina no DNS via DHCP

xmms+bitchx

Acompanhamento de log squid com hora real


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts