SSD: ram alternativa para trocar a partição ou o arquivo de troca

5

Meu sistema debian stretch tem muito ram. Atualmente, ele usa uma partição swap criptografada no SSD, mas em condições normais eu não espero que a falta de memória faça com que ela seja usada.

Mas desligar o swap completamente é uma má ideia, de acordo com os comentários do Snakedoc aqui:

Just note, it's never "safe" to fully disable swap. Even with systems that have 96+ GB of ram, running at least 512MB of swap is a good safety measure. It gives your system time to kill unnecessary processes if something runs amuck and eats up all the ram unexpectedly... the alternative with swap disabled is to kernel panic.

How to safely turn off swap permanently and reclaim the space? (on Debian Jessie)

Então, eu pensei em reservar parte do RAM, digamos 0.5G para um 'disco de memória RAM' e usá-lo como um arquivo de troca, salvando gravações no SSD.

Como faço isso? É uma má ideia por algum motivo?

    
por user87218721 22.04.2017 / 19:27

2 respostas

2

Eu não diria que a razão é a estabilidade, é um equívoco comum. Se um sistema ram + swap estiver cheio, você encontrará os mesmos sintomas que sem swap:

  1. Inexpostas, lentidão grande (o sistema bloqueia os processos pedindo ram up por um tempo, talvez alguém libere o ram necessário para eles)
  2. Processos mortos pelo matador de OOM (falta de memória).

A única diferença é que, sem swap, esses sintomas acontecem de repente , enquanto que com swap, eles acontecem somente após o swap ser preenchido. Assim, você tem um tempo de atraso muito maior antes que o sistema comece a não responder perfeitamente.

Esta é a primeira razão, porque é útil ter swap.

O segundo é menos conhecido, mas na verdade é muito mais importante:

Em geral, ter swap não diminui a velocidade da sua máquina, ela acelera, mesmo que você tenha muito mais que RAM suficiente.

Seu motivo é o seguinte: o que seu sistema com a RAM realmente não usa em seus processos? Eles são usados para armazenar em cache seus discos rígidos, tornando seu sistema mais rápido com ele.

Se você tiver swap, você essencialmente permite que seu sistema troque as páginas de memória muito raramente e use seu espaço para o cache de disco. Como elas acontecem, depende das configurações da VM e heurísticas, mas elas são realmente boas (até onde eu sei, o Linux é de longe o melhor nesse sentido).

Se os seus discos rígidos estão em SSD, não influi realmente nesses dois argumentos (embora ter discos de tempo de busca muito mais rápidos e nulos acelera tudo).

Eu principalmente uso a regra de ouro antiga para partições de swap: eu uso swap 2x mais como minha RAM. Isso é para evitar a fragmentação de troca (blocos no arquivo de troca podem fragmentar como arquivos em um sistema de arquivos). No seu caso, onde você tem uma quantidade enorme de RAM, mas disco rígido caro, com tempo de busca zero, fragmentação de swap não é um problema, assim, talvez também menor seria o suficiente. Eu não sei, quantos SSD você tem, talvez 1x ou até 0.5x vezes do seu site de RAM seria suficiente.

Na minha opinião, este conselho "tem pelo menos 512M swap" é ruim, a quantidade de swap que você usa depende dos parâmetros do sistema (custo do disco, quantidade de RAM, quantidade de disco, tempo de busca do disco rígido, etc). Este 512M não é uma "regra de ouro", é um "número mágico", que não tem sentido se o usarmos em geral.

    
por 22.04.2017 / 20:07
-1

Dada a resposta de @peterh, provavelmente uma boa solução é colocar qualquer disco rígido antigo na máquina e usá-lo como espaço de rascunho, incluindo swap. Dessa forma, todos os ram podem estar disponíveis para o sistema, mesmo os últimos 0.5G. Um laptop HDD provavelmente seria mais eficiente em termos de energia do que uma unidade de 3,5 ".

    
por 22.04.2017 / 23:11