Validar memória RAM e swap
Publicado por euteste da silva (última atualização em 24/11/2014)
[ Hits: 5.396 ]
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
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
Nenhum comentário foi encontrado.
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Reset do linux sem perder dual boot (1)
Lançado Ubuntu 24.04 Final (6)
redirecionando saida de comando touch para o AWK[AJUDA] (1)