Validar memória RAM e swap

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

[ Hits: 5.396 ]

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

Execução remota com SSH e HERE DOCUMENTS descomplicada

Automação para midias removíveis

Libera conectividade social em rede com squid

Antivírus no Linux para usuários de domínio

Abilitando impressora no cups automatico


  

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