Validar memória RAM e swap
Publicado por euteste da silva (última atualização em 24/11/2014)
[ Hits: 5.937 ]
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
Imspector - Manipular ACLS facilmente
Bloqueia ataques do tipo bruteforce
Configuração do Mysql no Suse, quando ocorre o seguinte erro: "ERROR 2002: Can't connect to local My
Nenhum comentário foi encontrado.
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalação do K3s Single-Node com Rancher no Ubuntu 24.04
Usei o NotebookLM para Auditar Logs do Linux
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
WiFi Seguro: EAP-TLS com FreeRADIUS e Active Directory (LDAP)
Vou destruir sua infância:) (9)
Uma ideia para o paulo1205 (1)
Midia de instalação LM-21.3 não inicializa (2)









