Translate

domingo, 27 de abril de 2014

Configurando Memória Virtual SWAP no Ubuntu

Quando nosso Sistema Operacional utiliza uma grande porcentagem de memória RAM, para não travar, ele lança mão da Memória Virtual.

Explicando este termo resumidamente, "Memória Virtual" é quando o sistema operacional armazena em disco (acesso mais lento), dados que deveriam ser colocados na memória RAM, e isto não pôde ser feito, porque a mesma já estava muito cheia. 

O fato da memória RAM estar muito cheia pode ser sinal de que seu sistema precisa ser fisicamente atualizado, adicionar mais 'pentes' de memória RAM pode ajudar.

Quando a memória virtual é alocada pelo sistema operacional, o computador se torna mais lento, pois como já disse anteriormente, o acesso aos dados no disco é muito mais lento do que o acesso à memória. 

No Ubuntu, por padrão a memória virtual é acionada quando atinge-se 40% de memória RAM utilizada (60% de memória RAM livre); isto pode tornar o sistema lento rapidamente, no caso do uso mais extremo. 

Para checar como seu Sistema Operacional está usando o recurso de swap (memória virtual) e também a memória em si, execute o comando na janela do Terminal (shell)

free -m

O resultado deve ser algo parecido com a tela abaixo: 

free -m
             total       used       free     shared    buffers   cached
Mem:          3848       3644        204        263         19      515
-/+ buffers/cache:       3108        740

Swap:         4940        619       4320


Note que meu Sistema operacional, está consumindo 619 MB de memória virtual!

Podemos mudar isto, ajustando o ponto de utilização da memória RAM em que o sistema operacional começará a alocar dados também em Memória Virtual.

Para saber como este ponto está configurado atualmente, digite o seguinte comando :

cat /proc/sys/vm/swappiness 

O SO deve retornar o valor atualmente configurado para swap:

60

O valor a ser alterado é bastante subjetivo, para alterá-lo somente durante a sessão atual como forma de teste, execute o comando: 

sudo sysctl vm.swappiness=30

Verifique que o valor está alterado, chamando novamente:

cat /proc/sys/vm/swappiness 

Para alterá-lo efetivamente no Sistema Operacional, edite com permissão sudo o arquivo /etc/sysctl.conf  e adicione ao final do arquivo a linha: 

vm.swappiness = "VALOR_ESCOLHIDO_ENTRE 0 e 100"

Abaixo exemplo:

sudo gedit /etc/sysctl.conf

Adicionei a este arquivo a linha abaixo, no meu caso o valor de 30, que quer dizer que quando estiver com 70% da RAM ocupada, meu SO irá começar a utilizar Memória Virtual.

vm.swappiness = 30

Nenhum comentário:

Postar um comentário