Validar memória RAM e swap
Publicado por euteste da silva (última atualização em 24/11/2014)
[ Hits: 5.804 ]
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
Script de compilação automática do GCC-5.3.0 para Debian/Ubuntu de 32 bits
Administrar squid com autenticação, simples e objetivo.
Avisos de segurança do espaço em uso!
Nenhum comentário foi encontrado.
Qt 6.10 e Python 3.14 puxam o ritmo do software livre nesta quarta
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Miyoo Mini Plus + Onion OS (Linux)
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como listar os arquivos em "bloquin... [RESOLVIDO] (6)
Como colocar atalho para uma pasta na área de trabalho do Ubuntu 24.04... (2)