Posts Tagged "swap"

Scripts para verificação da SWAP

Pessoal,

Como tinha dito em sala de aula o uso da swap em sistema Linux é relativo, já que muitas vezes os atuais sistemas computacionais usam muito pouco essa área reservada. Aqui segue o script feito em sala de aula.

O experimento é bem simples:

Em um shell do Linux crie um script shell com o nome disco.sh e coloque o seguinte conteúdo:

#!/bin/bash
dd if=/dev/zero of=disco.dump bs=1024 count=1024000

Salve o arquivo. Crie um novo script shell com o nome memoria.sh com os seguintes comandos:

 #!/bin/bash

##################################################
#
#   Script para verificar se o computador usa a SWAP
#   Autor: Anderson L. S. Moreira (anderson@rtsystems.org)
#   Data: 12 de fevereiro de 2007
#
##################################################

 ANO=`date +%Y`
 MES=`date +%m`
 DIA=`date +%d`
 HORA=`date +%H`
 MIN=`date +%M`

 DATACOMPLETA=""$ANO""$MES""$DIA"-"$HORA":"$MIN""

 USUARIO=anderson

 FREEARG='-m' # '-m' para ver em MB, -k para ver em KB e -GB para ver em GB. Prefira -m.

 SWAP_USADO=`free $FREEARG | grep Swap | tr -s ' ' ',' | cut -d "," -f 3`

 MEM_USADA=`free $FREEARG | grep Mem | tr -s ' ' ',' | cut -d "," -f 3`

 MEM_LIVRE=`free $FREEARG | grep Mem | tr -s ' ' ',' | cut -d "," -f 4`

 CACHE=`free $FREEARG | grep Mem | tr -s ' ' ',' | cut -d "," -f 7`

 LIVRE_CACHE=`expr $MEM_LIVRE + $CACHE`

 PSTOTAL=`ps ax | wc -l`

 PSUSUARIO=`ps aux | grep ^$USUARIO | wc -l`

 echo ""$DATACOMPLETA": Ps: "$PSTOTAL". Ps $USUARIO: `expr "$PSUSUARIO" - 1`. Mem usada: $MEM_USADA. Mem livre: $MEM_LIVRE. Cache+mem livre: $LIVRE_CACHE. Swap usado: "$SWAP_USADO"MB" >> /tmp/swap.txt

O experimento pode ser feito de duas maneiras:

1) Executando o script memoria.sh sozinho e repetindo diversas vezes. Pode ser colocado no crontab do sistema através do comando:

crontab -l
00-59/1 * * * * /opt/memoria.sh

Lembrando que o comando acima executa o script a cada 1 minuto.

2) Execute os scripts em paralelo disco.sh e memoria.sh e veja o que acontece com a saída swap.txt.

cd /opt
./disco.sh &
./memoria.sh

É bom deixar claro que isso é um teste simples. Em sistemas de banco de dados, com grande tráfego de dados, por exemplo vemos que o uso da swap é constantemente acessada. então depende da aplicação para termos ou não uso da swap.
Obs.: não esqueçam de dar permissão de execução aos scripts depois de criados.