Eu sei como criar um arquivo de swap e usá-lo como swap. Mas eu tenho que configurar o tamanho do arquivo antecipadamente e o espaço é usado no disco, se a troca é usada ou não.
Como crio uma troca que tem um tamanho inicial de 0 e cresce sob demanda?
Respostas:
O espaço de troca é antigo e sem manutenção e pode levar, um dia, a problemas nos sistemas modernos. Eu acho que a melhor solução para troca dinâmica é:
então estabelecendo
CONF_SWAPFACTOR=2
-se/etc/dphys-swapfile
e finalmentefonte
O SwapSpace é um utilitário que cria um 'arquivo de troca dinâmico' que, de acordo com os requisitos do sistema operacional, altera seu tamanho.
Assim, você pode até esquecer de criar um arquivo de troca virtual e apenas instalar o "SwapSpace", que criará automaticamente um para você e até o redimensionará quando necessário.
Você também pode usar 'Swapspace' lado a lado com um arquivo de troca criado manualmente e, quando o manual for preenchido, 'Swapspace' criará automaticamente outro para o sistema operacional, para que o sistema sempre tenha um espaço de troca e aprimore a estabilidade.
Outra coisa útil sobre o "SwapSpace" é que, sempre que possível, reduz o tamanho do SwapSpace e "libera" esses bytes no sistema de arquivos do usuário e, de acordo com os desenvolvedores, essa redução ajuda a aumentar o desempenho do arquivo de troca ( além disso, seu espaço “precioso” no disco rígido também não é desperdiçado).
Instale com
E ajuste o arquivo de configuração de acordo com suas necessidades. Defino o mínimo para
0
na minha máquina debian VM com apenas 8 GB de HDDAlém disso, também defini o swappiness para
0
minimizar o uso do precioso espaço do HDD na minha VM:Para alterar o valor de troca do sistema, abra
/etc/sysctl.conf
como raiz. Em seguida, altere ou adicione esta linha ao arquivo:(Reinicialize para que a alteração entre em vigor)
fonte
Afaik, qualquer partição de swap que você faria usando o fdisk, por exemplo, precisaria de espaço maior que 0, pois você está modificando o espaço de um disco existente e realocando-o em outro lugar.
De qualquer forma, e respondendo à sua pergunta, você pode facilmente criar uma pequena partição, atribuí-la como swap no fdisk e depois:
1) desabilite a troca com
swapoff -v
2) redimensione a partição comlvresize
3) formate a partição commkswap
4) reative o espaço de troca comswapon -v
Depois, você pode usar
cat /proc/swaps
para verificar se foi atualizado ou não. Você pode usar isso facilmente em um script, dependendo das especificações do sistema, e executá-lo sob demanda sempre que precisar aumentar esse espaço de troca. Algo como:fonte