Como aumentar o tamanho do swapfile sem removê-lo no terminal?

15

Existe uma maneira de aumentar o meu "swapfile" existente sem precisar destruí-lo e recriá-lo? Eu gostaria de aumentar o meu espaço de troca de 1GB para 2GB. Atualmente, está configurado como tal:

$ sudo swapon -s
Filename                Type        Size    Used    Priority
/swapfile               file        1048572 736640  -1
$ ls -lh /swapfile
-rw------- 1 root root 1.0G Nov  9  2016 /swapfile

Estou usando o Ubuntu 14.04.

    
por Dave 21.06.2017 / 22:55

3 respostas

22

Primeiro desabilite o arquivo de troca:

sudo swapoff /swapfile

Agora vamos aumentar o tamanho do arquivo de troca:

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 oflag=append conv=notrunc

O comando acima irá acrescentar 1GiB de zero bytes no final do seu arquivo de troca.

Configure o arquivo como um "arquivo de troca":

sudo mkswap /swapfile

ativar a troca:

sudo swapon /swapfile
    
por Ravexina 21.06.2017 / 23:57
16

Você deve adicionar um novo swapfile em vez de redimensionar o existente porque não custa nada fazer isso . Para redimensionar um swapfile, você deve primeiro desabilitá-lo, o que libera o conteúdo do swap para a RAM, o que aumenta a pressão na memória RAM e pode até invocar o killer da OOM (sem mencionar que você poderia estar espancando seus discos por vários minutos). Múltiplos arquivos de troca não são um problema, é trivialmente fácil configurar outro arquivo de troca. Não há literalmente nenhum benefício em redimensionar um arquivo de troca para adicionar outro.

dd if=/dev/zero of=/some/file count=1K bs=1M
mkswap /some/file
sudo chown root:root /some/file
sudo chmod 600 /some/file
sudo swapon /some/file
    
por muru 22.06.2017 / 03:41
1

Você pode criar outro arquivo de troca como eu fiz:

  1. sudo fallocate -l 4G /swapfile
  2. sudo chmod 600 /swapfile
  3. sudo mkswap /swapfile
  4. sudo swapon /swapfile
  5. Verifique se está funcionando com sudo swapon --show
    Para torná-lo permanente, inclua um arquivo na digitação do arquivo fstab :
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
por borekon 22.05.2018 / 23:20