Validar memória RAM e swap
Publicado por euteste da silva (última atualização em 24/11/2014)
[ Hits: 5.825 ]
Fiz esse script para trazer informações do uso da memória RAM e swap de forma mais amigável.
#!/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
Ajuste de horário e sincronismo
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO USUÁRIOS
Cluster multi-master com MariaDB 10.1 + Galera
Nenhum comentário foi encontrado.
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
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)
Instalação não está resolvendo as dependencias (2)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)
Alternativas ao Multilogin para gerenciamento de múltiplas contas/prof... (0)









