Por que o Linux está utilizando SWAP, se o Oracle só está utilizando 50% da RAM?

É uma dúvida comum: você tem um servidor de 16GB, configura 8GB para a SGA, mas vê que o Linux está utilizando swap. Mas não encontra que processo está utilizando esta memória.

Você não encontra este processo porque realmente não deve estar sendo utilizada mais memória do que você configurou.

Isto acontece por conta do swappiness, que é um parâmetro da memória virtual do kernel do Linux.

Este percentual é de 60 no Red Hat Enterprise Linux / CentOS / Oracle Enterprise Linux 6. Isto faz com que ao restar 60% da memória física, o Linux comece a utilizar também swap.

[root@nerv09 ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@nerv09 ~]# cat /proc/sys/vm/swappiness
60
[root@nerv09 ~]#

E este percentual é de 10 no Red Hat Enterprise Linux / CentOS / Oracle Enterprise Linux 7, o que faz com que seja mais raro você ver a utilização de swap nesta versão – se você ver, é porque realmente a memória física está se esgotando.

[root@nerv01 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)
[root@nerv01 ~]# cat /proc/sys/vm/swappiness
10
[root@nerv01 ~]#

Para alterar este parâmetro, execute o comando abaixo, e o swap desnecessário deixa der ser utilizado, suavemente.

[root@nerv09 ~]# sysctl vm.swappiness=10
vm.swappiness = 10
[root@nerv09 ~]#

E para que este parâmetro persista no boot, adicione-o no arquivo sysctl.conf.

[root@nerv09 ~]# echo "vm.swappiness=10" >> /etc/sysctl.conf
[root@nerv09 ~]#

6 comments

  1. Muito bom!
    Os DBAs que buscam conhecimento e aprimoramento, sempre te agradecerão, assim como Eu!
    Um abraço.

    Róli

  2. Passei por dois incidentes iguais a esse.
    Um com linux 5 e outro com linux 6.
    Artigo foi muito útil Portilho.

  3. Bom dia, meu amigo e quando o uso da swap ainda esta persistindo. Na realidade eu uso Red 6, e ela esta persistindo em 50% do uso da swap, mesmo a memoria fisica não esta sendo usada nem mesmo 10%, isso já estava ocorrendo mesmo antes no padrão da swappiness=60. A unica coisa que ainda testei foi reiniciar o servidor, pois ainda não tive oportunidade.

    1. Tenta colocar aqui um top, com as opções “c”, “1” e “M”. Se possível em imagem.

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.