Mostrando entradas con la etiqueta Memoria. Mostrar todas las entradas
Mostrando entradas con la etiqueta Memoria. Mostrar todas las entradas

checkMemory.sh

d
Nombre: checkMemory.sh
Autor: Cristian Hernandez
Descripcion: Monitorea el uso total de la memoria.
#!/bin/bash
#===============================================================================
# Author:
#               Cristian Hernandez

#===============================================================================
#
# Description:
#           Monitor total memory usage.
#
# Parameters:
#       -w: Warning threshold (in percentiles)
#       -c: Critical threshold (in percentiles)
#       -h: Help message
#
#===============================================================================

#
# FUNCTIONS:
#
#-------------------------------------------------------------------------------
# Check CPU activity. Returns OK, WARNING or CRITICAL status based on command
# line arguments
function check_memory() {
    local warning=$1
    local critical=$2
    local results=($(free -m | awk 'BEGIN {
                total=0;
                rss=0
            }
            {
                if ($1 == "Mem:") {
                    total=$2; # Memory total
                    vmz=$3;   # Memory in use (VMZ)
                }
                if ($1 == "-/+") {
                    rss=$3         # Memory in use (RSS)
                    cache=vmz-$3;  # Memory in cache
                }
            }
            END {
                # Return array of results: [percent_memory_used, memory_in_cache]
                print int(rss/total*100), cache

            }'))

    echo "Current:${results[0]} Threshold:[${warning}/${critical}]% Cache:${results[1]}MB"
    # Check status and exit accordingly
    [ "${results[0]}" -gt "$critical" ] && exit 2
    [ "${results[0]}" -gt "$warning" ] && exit 1

    exit 0

}

#-------------------------------------------------------------------------------

# Help message
function usage() {
    echo "Usage:
    -w: Warning threshold (in percentiles, i.e. from 0 to 100)
    -c: Critical threshold (in percentiles, i.e. from 0 to 100)
    -h: This Help message

    Example: $0 -w 70 -c 90"
}

#-------------------------------------------------------------------------------

#
# MAIN:
#

#-------------------------------------------------------------------------------

# Check command line options

while getopts 'c:w:h' OPT
do
    case $OPT in
        w) warning=${OPTARG}
        ;;
        c) critical=${OPTARG}
        ;;
        h) usage && exit 1
        ;;
    esac
done

# Validate command line arguments
if [ $# -eq 4 ]; then
    if [ "$critical" -gt "$warning" ]; then
        # Check memory usage and exit accordingly
        check_memory $warning $critical
    else
        echo "ERROR: critical threshold must be greater than warning threshold"
        usage
        exit 1
    fi
else
    echo "ERROR: Missing argument!"
    usage
    exit 1
fi
Leer más...

Script que lista usuarios con mas de "X" MB

d
Nombre: Listador de Espacio
Autor: @kaldie
Descripción: Script que lista a los usuarios que ocupan más de una cierta cantidad de espacio en su home

#!/bin/bash 
# Asignar a la variable MAX el tamano maximo que queremos 

USUARIOS=$(ls /home/) 

# Maximo permitido por usuarios, en MB. Escribir el numero de MB, ejemplo MB=100 
MAX= 

# Carga en la variable usuarios todas las direcciones de los home con mas espacio ocupado que MAX
for i in $USUARIOS; do 
    DIR="/home/$i" 
    TAM=$(du -B 1048576 -s $DIR | awk {'print $1'}) 
        if [ $TAM -gt $MAX ]; then 
        DIR_SUP="$DIR_SUP $i"$'n' 
    fi 
done 


# Ahora se fija a quien corresponde cada direccion de home obtenido y guarda los usuarios en USU_SUP

archivo_usuarios=/etc/passwd 

oldifs=$IFS 
IFS=: 

while read -r usuario contrasena iud grupo comentario directorio shell  
do 
    IFS=$oldifs  
    for i in $DIR_SUP; do 
        direc="/home/$i" 
        if [ $directorio = $direc ]; then 
            USU_SUP="$USU_SUP $usuario"$'n' 
        fi 
    done 
    IFS=: 
done < $archivo_usuarios 


echo $'n'"Usuarios con mas de $MAX MB: "$'n'$'n'"$USU_SUP" 

Nota: El script debe ser ejecutado con permisos de Root. Asignar a la variable MAX el tamano maximo que queremos
Leer más...

Mem.bash

d
Nombre: Mem.bash
Autor: SASIKALA
Descripción: Script que muestra la memoria usada,memoria libre y memoria total.
Visto en The Geek Stuff
#! /bin/bash

# Total memory space details

echo "Memory Space Details"
free -t -m | grep "Total" | awk '{ print "Total Memory space : "$2 " MB";
print "Used Memory Space : "$3" MB";
print "Free Memory : "$4" MB";
}'

echo "Swap memory Details"
free -t -m | grep "Swap" | awk '{ print "Total Swap space : "$2 " MB";
print "Used Swap Space : "$3" MB";
print "Free Swap : "$4" MB";
}'
Permisos: chmod 700 Mem.bash 
Ejecución: ./Mem.bash
Leer más...

Script para limpiar la memoria de Linux

d
Autor:  Kalambu
Descripción:  Script que nos permite liberar la memoria en Linux.
Visto en: Kalambu

Uso: puede cambiar la variable percent = 70 por la que deseemos para que posteriormente lo libere

#!/bin/sh
PATH=”/bin:/usr/bin:/usr/local/bin”
# Porcentagem maxima (mude se vc achar q deve) eu deixo em 70%
percent=70
 
# Total da memoria:
ramtotal=`grep -F “MemTotal:” < /proc/meminfo | awk ‘{print $2}’`
# Memoria livre:
ramlivre=`grep -F “MemFree:” < /proc/meminfo | awk ‘{print $2}’`
 
# RAM utilizada pelo sistema:
ramusada=`expr $ramtotal – $ramlivre`
 
# Porcentagem de RAM utilizada pelo sistema:
putil=`expr $ramusada \* 100 / $ramtotal`
 
echo =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
date
echo
echo “Mem. utilizada: $putil %”;
 
if [ $putil -gt $percent ]
then
date=`date`
echo $date >> /var/log/memoria.log
echo “Mem. utilizada: $putil %” >> /var/log/memoria.log
 
echo “Memoria acima de $percent %, cache foi limpado!”;
sync
# ‘Dropando’ cache:
echo 3 > /proc/sys/vm/drop_caches
echo
free -m
echo
echo =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
else
echo “Não há necessidade de limpar o cache!”;
echo =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
unset percent ramtotal ramlivre ramusada putil
exit $?
fi
Leer más...