Swap é uma área de troca (memória virtual) e funciona como uma extensão da memória RAM, mas fica armazenada no disco. Pode ser considerada como uma memória de fuga, pois quando esgotar os recursos de memória RAM no sistema o swap será usado para aliviar a carga e não travar o sistema. Swap pode ser uma partição no disco ou um arquivo (swap file)
Importante: lembre-se que o swap é bem mais lento que a memória RAM. Se você fizer muito swap em um sistema você vai lidar com uma grande de uma lentidão! Mesmo em casos onde o swap é feito em um SSD
Quando a memória ram enche;
Quando o kernel usa um programa que detecta blocos, conhecidos como paginas de memória com conteúdo em RAM que não foi usado recentemente;
Quando precisa de mais memória esse programa pode ser alocado na swap, se precisar das páginas tirar da swap e usar a memória.
Acontece um evento chamado THRASHING, onde o sistema fica absurdamente lento
O Linux está pegando emprestado a memória não utilizada para o cache de disco. Isso faz parecer que você está com pouca memória, mas não está!
O cache de disco torna o sistema muito mais rápido e responsivo! Não há desvantagens, exceto para iniciantes confusos. Ele não tira a memória dos aplicativos de forma alguma, nunca!
O cache de disco torna o sistema muito mais rápido e responsivo! Não há desvantagens, exceto para iniciantes confusos. Ele não tira a memória dos aplicativos de forma alguma, nunca!
Não, o cache de disco apenas pega emprestado a memória RAM que os aplicativos não desejam no momento. Não usará swap. Se os aplicativos quiserem mais memória, eles simplesmente a retiram do cache de disco. Eles não vão começar a trocar.
Você não pode desativar o cache de disco. A única razão pela qual alguém deseja desabilitar o cache de disco é porque eles pensam que isso tira a memória de seus aplicativos, o que não acontece! O cache de disco faz com que os aplicativos sejam carregados com mais rapidez e suavidade, mas NUNCA tira memória deles! Portanto, não há absolutamente nenhuma razão para desativá-lo!
Se, no entanto, você precisar limpar um pouco de RAM rapidamente para contornar outro problema, como um mau comportamento de VM, você pode forçar o linux a não destrutiva eliminar caches de forma usando echo 3 | sudo tee /proc/sys/vm/drop_caches
.
Esta é apenas uma diferença de terminologia. Você e o Linux concordam que a memória ocupada pelos aplicativos é "usada", enquanto a memória que não é usada para nada é "livre".
Mas como você conta a memória que é usada atualmente para algo, mas ainda pode ser disponibilizada para aplicativos?
Você pode contar essa memória como "livre" e / ou "disponível". Em vez disso, o Linux o conta como "usado", mas também "disponível":
Memória que é | Você chamaria | Linux chama isso |
---|---|---|
usada por aplicativos | Usada | Usada |
usada, mas pode ser disponibilizada | Livre (ou disponível) | Livre (e disponível) |
não é usada para nada | Livre | Livre |
Esse "algo" é (aproximadamente) o que o top e o free chamam de "buffers" e "cached". Como a terminologia sua e a do Linux são diferentes, você pode pensar que está com pouca memória RAM quando não está.
Para ver quanta RAM seus aplicativos podem usar sem trocar, execute free -me olhe para a coluna "available":
$ free -m
total used free shared buff/cache available
Mem: 1504 1491 13 0 855 792
Swap: 2047 6 2041
Esta é a sua resposta no MiB. Se você ingenuamente olhar para "usado" e "livre", você pensará que sua RAM está 99% cheio, quando na verdade está apenas 47%! Para uma descrição mais detalhada e técnica do que o Linux conta como "disponível", consulte o commit que adicionou o campo.
Um sistema Linux saudável com memória mais do que suficiente irá, depois de funcionar por um tempo, mostrará o seguinte comportamento esperado e inofensivo:
- free: a memória está perto de 0;
- used: a memória está perto de total;
- avaliable: memória tem espaço suficiente (digamos, 20%+ do total);
- swap used: não muda.
- avaliable: memória está perto de zero;
- swap used: aumenta ou flutua;
- dmesg | grep oom-killer: mostra o OutOfMemory-killer em ação
Consulte esta página para obter mais detalhes e como você pode experimentar o cache de disco para mostrar os efeitos descritos aqui. Poucas coisas o fazem apreciar mais o cache de disco do que medir uma aceleração da ordem de magnitude em seu próprio hardware!