Para poder entender o que é swappinesse e seu funcionamento, primeiro você deve saber o que é swap e qual a sua funcionalidade.
O que é swap?
Swap é uma área, espaço, de troca criada no disco(no Linux) para contribuir com a falta de memória.
Funciona da seguinte maneira:
Se você possui 256MB de memória e abre 3 aplicativos que somados ocupam mais de 300MB, isso normalmente iria travar o seu computador ou mesmo você não conseguiria trabalhar com os 3 aplicativos abertos. Tendo uma área de troca(swap) reservada no disco, a memória principal despeja parte do que não precisa ser executado para o disco, ou seja, para a swap, liberando memória e assim podendo processar mais aplicativos.
O que é swappiness?
Swappinnes é uma variável contida no código fonte do kernel(Linux), responsável por controlar a quantidade de memória principal(RAM) e swap que será utilizada.
Para essa variável é atribuído um valor fixo(60), que para máquinas com pouca memória, 256MB, 512MB, este valor pode ser confortável ou aceito. O problema está em máquinas mais novas que possuem 1GB de memória para cima, essas máquinas sofrerão uma perda de desempenho considerável.Para poder entender o que é swappinesse e seu funcionamento, primeiro você deve saber o que é swap e qual a sua funcionalidade.
O que é swap?
Swap é uma área, espaço, de troca criada no disco(no Linux) para contribuir com a falta de memória.
Funciona da seguinte maneira:
Se você possui 256MB de memória e abre 3 aplicativos que somados ocupam mais de 300MB, isso normalmente iria travar o seu computador ou mesmo você não conseguiria trabalhar com os 3 aplicativos abertos. Tendo uma área de troca(swap) reservada no disco, a memória principal despeja parte do que não precisa ser executado para o disco, ou seja, para a swap, liberando memória e assim podendo processar mais aplicativos.
O que é swappiness?
Swappinnes é uma variável contida no código fonte do kernel(Linux), responsável por controlar a quantidade de memória principal(RAM) e swap que será utilizada.
Para essa variável é atribuído um valor fixo(60), que para máquinas com pouca memória, 256MB, 512MB, este valor pode ser confortável ou aceito. O problema está em máquinas mais novas que possuem 1GB de memória para cima, essas máquinas sofrerão uma perda de desempenho considerável.
Segue um trecho do código fonte do kernel do Linux aonde encontra-se a swappiness:
Local: /usr/src/linux/mm/vmscan.c (Tendo em vista que “linux” é o link simbólico que aponta para a versão kernel).
/* * From 0 .. 100. Higher means more swappy. */ int vm_swappiness = 60;
Informações sobre a configuração da swappiness
O valor dessa variável varia de 0 a 100, sendo o 0 = sem utilização de swap, apenas em situações muito críticas; 100 = a prioridade continua sendo a de utilizar a memória RAM, mas irá fazer swap em disco com mais constância, ou seja, mesmo que haja muita memória principal sobrando, o sistema, ainda assim, irá fazer swap.
Você pode seguir esta tabela abaixo para configurar o valor da sua swappiness de acordo com a quantidade de memória que possui.
Quantidade de Memória | Valor da swappiness |
256MB | 60 (valor padrão) |
512MB | 40 |
1GB | 20 |
Acima de 1GB | 0 |
Descobrindo o valor da swappiness
Para descobrir qual o valor atual da sua swappiness, utilize o comando cat /proc/sys/vm/swappiness ou sysctl vm.swappiness, como nos exemplos abaixo:
Saída com o comando cat:
cat /proc/sys/vm/swappiness 40
Saída com o comando sysctl:
sysctl vm.swappiness vm.swappiness = 40
Alterando o valor da sua swappiness
Existem algumas formas para se altear o valor da swappines, umas definitivas – por exemplo alterar o valor direto no código fonte do kernel e recompilá-lo – e outras não – por exemplo utilizando o comando echo valor > /pro/sys/vm/swappiness –.
Como o nosso objetivo é fazer uma alteração definitiva, vamos percorrer o caminho mais simples, ou seja, sem que precise recompilar o kernel.
Primeiro, verifiquei se você já possui a seguinte linha (vm.swappiness = n), sendo “n” o valor da variável, no arquivo /etc/sysctl.conf.
cat /etc/sysctl.conf | grep swappiness vm.swappiness = 40
Caso exista, edite o arquivo e altere o valor(caso não seja satisfatório) para um valor adequado. Logo em seguida execute o comando echo ou sysclt, para atualizar o sistema com o novo valor :
sysctl -w vm.swappiness=n
ou
echo n > /proc/sys/vm/swappiness
Segue um trecho do código fonte do kernel do Linux aonde encontra-se a swappiness:
Local: /usr/src/linux/mm/vmscan.c (Tendo em vista que “linux” é o link simbólico que aponta para a versão kernel).
/* * From 0 .. 100. Higher means more swappy. */ int vm_swappiness = 60;
Informações sobre a configuração da swappiness
O valor dessa variável varia de 0 a 100, sendo o 0 = sem utilização de swap, apenas em situações muito críticas; 100 = a prioridade continua sendo a de utilizar a memória RAM, mas irá fazer swap em disco com mais constância, ou seja, mesmo que haja muita memória principal sobrando, o sistema, ainda assim, irá fazer swap.
Você pode seguir esta tabela abaixo para configurar o valor da sua swappiness de acordo com a quantidade de memória que possui.
Quantidade de Memória | Valor da swappiness |
256MB | 60 (valor padrão) |
512MB | 40 |
1GB | 20 |
Acima de 1GB | 0 |
Descobrindo o valor da swappiness
Para descobrir qual o valor atual da sua swappiness, utilize o comando cat /proc/sys/vm/swappiness ou sysctl vm.swappiness, como nos exemplos abaixo:
Saída com o comando cat:
cat /proc/sys/vm/swappiness 40
Saída com o comando sysctl:
sysctl vm.swappiness vm.swappiness = 40
Alterando o valor da sua swappiness
Existem algumas formas para se altear o valor da swappines, umas definitivas – por exemplo alterar o valor direto no código fonte do kernel e recompilá-lo – e outras não – por exemplo utilizando o comando echo valor > /pro/sys/vm/swappiness –.
Como o nosso objetivo é fazer uma alteração definitiva, vamos percorrer o caminho mais simples, ou seja, sem que precise recompilar o kernel.
Primeiro, verifiquei se você já possui a seguinte linha (vm.swappiness = n), sendo “n” o valor da variável, no arquivo /etc/sysctl.conf.
cat /etc/sysctl.conf | grep swappiness vm.swappiness = 40
Caso exista, edite o arquivo e altere o valor(caso não seja satisfatório) para um valor adequado. Logo em seguida execute o comando echo ou sysclt, para atualizar o sistema com o novo valor :
sysctl -w vm.swappiness=n
ou
echo n > /proc/sys/vm/swappiness
Legal. Lá no /proc tem muita coisa útil. Para quem tem laptop, por exemplo, e vive dependendo da vida da bateria, é legal deixar o gerenciamento de memória em “modo laptop”, o que faz o kernel ficar mais “relaxado” na hora dos flushs, entre outras coisas. Para isso:
$ echo 1 > /proc/sys/vm/laptop_mode
Cléber, obrigado pela contribuição!!
Complementando.., quem quiser fazer a mudança definitiva, faça:
# echo “vm.laptop_mode = 5” >> /etc/sysctl.conf && sysctl -w vm.laptop_mode=5
Abraços!
mano bom dia que escrever para agradecer por tem feito um livro muito legal sobre os comandos no Linux e percebe que nos comentários você relatou que tem uma 2° edição.
como faço para adquirir-la?
Obrigado!!! Com base no seu artigo, eu criei um arquivo Swap de 768MB com Swappiness em 30 usando o app Swapper for tools aqui no meu Android.
akinetic buy stromectol for humans in tijuana Amoxicillin Breastfeeding
clomid for males Describe Joseph Pena s approach to eSET elective single embryo transfer vs.
The problem solution approach was developed to ensure an objective assessment of inventive step and to avoid ex post facto analysis of the prior art see Case Law of the Boards of Appeal of the EPO, 8th edition 2016, I buy cialis generic
lasix 40 2012, we determined whether О±2 expression exists on cortical nNOS NK1R neurons using a Chrna2 reporter mouse and immunohistochemistry for nNOS
8 3, 394 401 1996 buying cialis online safe
js加密 hello my website is js加密
muse endlessly hello my website is muse endlessly
ug games hello my website is ug games
hug di hello my website is hug di
4d Hẻm hello my website is 4d Hẻm
88Vin shop hello my website is 88Vin shop
balancing solo hello my website is balancing solo
situs sportsbook hello my website is situs sportsbook
Netherlands 2014 hello my website is Netherlands 2014
Enhance, This is a good website Enhance
Mature, This is a good website Mature
Fetish, This is a good website Fetish
Phallus, This is a good website Phallus
Phallus, This is a good website Phallus
Breast, This is a good website Breast
Breast, This is a good website Breast
Scrotum, This is a good website Scrotum
Performance, This is a good website Performance