Teste de memória RAM

Publicado por marcelo cavalca filho (última atualização em 11/10/2013)

[ Hits: 9.544 ]

Homepage: https://www.facebook.com/Colgatera

Download memory_test.bsh




Olá amigos do VOL!

Se você é uma daquelas pessoas que gostam de ficar monitorando a quantidade de RAM que está sendo utilizada mas que acha inútil ficar soltando um "free -m" a todo momento, assim como eu, eu tenho a solução!

Com essa ideia eu montei esse script que é muito simples e deixa exposto a todo momento no terminal a quantidade de memória RAM normal que está sendo usada e a memória swap que está sendo usada também, exibindo a porcentagem e o usado/total.

É um script interessante se você deseja deixar um terminal apenas para ficar monitorando a memória. :P
Sem mais delongas, segue o código:

  



Esconder código-fonte

#!/bin/bash

#==========================================================================================#
# Author: Marcelo Cavalca Filho                                                            |
# Date: 10/10/2013                                                                         |
# Original file name: memory_test.bsh                                                      |
# What the script do?                                                                      |
# A: It show the percentage and the ammount of used memory, normal and swap, at real time. |
#==========================================================================================#

clear
echo -e "#========================================= MEMORY TEST ===========================================#\n"
tput sc
RED='\e[0;31m'
NORMAL='\e[0m'
tput civis
stty -echo
while :; do

    tput rc
    # { Set variable values
    TOTAL_MEM=`free -m | cut -c15-20 | head -2 | tail -1 | sed 's/ //g'`
    TOTAL_SWAP=`free -m | cut -c15-20 | head -4 | tail -1 | sed 's/ //g'`

    USED_MEM=`free -m | cut -c26-30 | head -2 | tail -1 | sed 's/ //g'`
    USED_SWAP=`free -m | cut -c26-30 | head -4 | tail -1 | sed 's/ //g'`

    let PERC_USED_MEM=(${USED_MEM}*100)/${TOTAL_MEM}
    let PERC_SWAP_MEM=(${USED_SWAP}*100)/${TOTAL_SWAP}
    # }


    # { RED to warn the user FREE_MEM
    if [ ${PERC_USED_MEM} -ge 85 ]; then
    echo -ne "${RED}"
    else
    echo -ne "${NORMAL}"
    fi
    # }


    # { Print results on screen
    echo -ne "\r  Memory usage now: ["
    let ADJ_PERC_MEM=${PERC_USED_MEM}/2
    for I in `seq 1 $ADJ_PERC_MEM`; do
    echo -ne "#"
    done
    let ADJ_PERC_MEM=50-${ADJ_PERC_MEM}
    for I in `seq 1 $ADJ_PERC_MEM`; do
    echo -ne "."
    done
    echo -ne "] $PERC_USED_MEM% - ${USED_MEM} / ${TOTAL_MEM} (Mb)   "
    # }


    # { RED to warn the user SWAP_MEM
    if [ ${PERC_SWAP_MEM} -ge 85 ]; then
    echo -ne "${RED}"
    else
    echo -ne "${NORMAL}"
    fi
    # }


    # { Print results on screen
    echo -ne "\n  SWAP usage:       ["
    let ADJ_PERC_MEM=${PERC_SWAP_MEM}/2
    for I in `seq 1 $ADJ_PERC_MEM`; do
    echo -ne "#"
    done
    let ADJ_PERC_MEM=50-${ADJ_PERC_MEM}
    for I in `seq 1 $ADJ_PERC_MEM`; do
    echo -ne "."
    done
    echo -ne "] $PERC_SWAP_MEM% - ${USED_SWAP} / ${TOTAL_SWAP} (Mb)   "
    # }

    echo -ne "${NORMAL}\n\n\t\t\t\t\t('q' to exit)\n\n"

    # { If the user wishes to end the script...
    read -s -t 0.1 -n 1 INPUT
    if [ $INPUT = "q" ] 2>/dev/null; then
    echo -e "\n\nExiting...\n"
        tput cnorm
        stty echo
        exit 0
    fi
    # }

    echo -ne "#=================================================================================================#"

done

Scripts recomendados

Script Para o Desligamento do Sistema

Instalação e desinstalação do Flash Player

Script que automatiza o treinamento do SpamAssassin

exenow - Habilitando suporte a executaveis windows no kernel do linux

Automatizando backups no Samba


  

Comentários
[1] Comentário enviado por Williamm em 04/11/2013 - 11:20h

Muito bom, parabéns!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts