Validar memória RAM e swap

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

[ Hits: 5.390 ]

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

Select tablespace

Criação de pasta com senha no Apache

PKG Sync v3.0 - Utilitário para backup de pacotes deb baixados - Versão final

Sysinfo versão 0.7

Firewall Iptables


  

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