Validar memória RAM e swap

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

[ Hits: 5.547 ]

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

Copia arquivos distribuidos em pastas diferentes para uma única pasta.

Select tablespace

confProxyFirefox.sh

Monitoração do CBQ

Atualização do FreeBSD


  

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