Advertisement
corrosiontears

Script Limpador de Cache

Jun 24th, 2012
383
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.28 KB | None | 0 0
  1. #!/bin/sh
  2. #
  3. # Salve este script no diretório /etc/cron.hourly e dê permissão
  4. # de execução a ele. Desse modo a cada hora sera verificada se a
  5. # porcentagem de memória utilizada pelo sistema atingiu o valor definido
  6. # na variável 'percent'. Caso positivo, o script informará ao kernel
  7. # que este deverá alterar o valor da opção 'drop_caches' para 3.
  8. #
  9. # Mais detalhes: 'man proc' -> /proc/sys/vm/drop_caches.
  10. PATH="/bin:/usr/bin:/usr/local/bin"
  11.  
  12. # Porcentagem máxima de uso da memória, antes de executar a limpeza:
  13. # Obs.: Altere conforme sua necessidade.
  14. percent=80
  15.  
  16. # Quantidade de memória RAM no sistema:
  17. ramtotal=`grep -F "MemTotal:" < /proc/meminfo | awk '{print $2}'`
  18. # Quantidade de RAM livre:
  19. ramlivre=`grep -F "MemFree:" < /proc/meminfo | awk '{print $2}'`
  20.  
  21. # RAM utilizada pelo sistema:
  22. ramusada=`expr $ramtotal - $ramlivre`
  23.  
  24. # Porcentagem de RAM utilizada pelo sistema:
  25. putil=`expr $ramusada \* 100 / $ramtotal`
  26.  
  27. # Checando porcentagem:
  28. if [ $putil -gt $percent ]
  29. then
  30.    # Sincronizando os dados cacheados na memória com o(s) disco(s):
  31.    sync
  32.    # 'Dropando' cache:
  33.    echo 3 > /proc/sys/vm/drop_caches
  34. else
  35.    # Remove-se as variáveis da memória e finaliza-se o script:
  36.    unset percent ramtotal ramlivre ramusada putil
  37.    exit $?
  38. fi # Fim
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement