Como adiciono swap após a instalação do sistema?

137

Eu não criei uma partição de troca durante a instalação do Ubuntu. Mais tarde, libertei algum espaço e fiz uma partição swap. Agora, após cada inicialização, estou abrindo manualmente gparted para clicar com o botão direito do mouse na partição swap para ativar a opção 'swapon'.

Como posso ativar automaticamente a partição de troca na inicialização?

Além disso, se eu não tivesse criado a partição swap, quais são minhas outras opções?

    
por xiota 05.04.2011 / 22:02

8 respostas

120

Você precisa editar /etc/fstab e adicionar a nova partição virtual.

sudo nano /etc/fstab

Você precisa adicionar uma linha parecida com

UUID=735b3be3-779c-4d21-a944-b033225f3ab4 none   swap    sw      0       0

e você obtém o UUID usando o comando

sudo blkid /dev/sda3

(substitua /dev/sda3 pelo nome do dispositivo apropriado).

Relacionado:

por user4124 05.04.2011 / 22:23
94

Para criar uma partição swap após a instalação, crie uma partição vazia que não deve ter furos. Você pode então formatar esta partição com:

sudo mkswap /dev/sdX

substituindo /dex/sdX pela sua partição. Monte esta partição como swap com

sudo swapon -U UUID

em que o UUID é o seu /dev/sdX , conforme lido a seguir:

blkid /dev/sdX

Vincule sua nova troca em /etc/fstab adicionando esta linha:

UUID=xxx    none    swap    sw      0   0

Se você quiser usar seu swap para hibernar, será necessário atualizar o UUID em /etc/initramfs-tools/conf.d/resume com esse conteúdo RESUME=UUID=xxx . Não esqueça de $ sudo update-initramfs -u .

Para completar as coisas: também seria possível criar um arquivo de troca no caso de não termos uma partição sobressalente. Esta resposta dá-lhe uma ideia sobre como criar um ficheiro desse tipo e ativá-lo no arranque.

    
por Takkat 05.04.2011 / 22:34
39

Caso você não queira ou não tenha certeza de como criar uma partição swap, você pode criar um arquivo de troca que funcionará da mesma maneira que a partição. Aqui estão os passos (usando o terminal):

  1. Crie um arquivo vazio (1K * 4M = 4 GiB).

    sudo mkdir -v /var/cache/swap
    cd /var/cache/swap
    sudo dd if=/dev/zero of=swapfile bs=1K count=4M
    sudo chmod 600 swapfile
    
  2. Converta o arquivo recém-criado em um arquivo de espaço de troca.

    sudo mkswap swapfile
    
  3. Ativar arquivo para paginação e troca.

    sudo swapon swapfile
    

    Verifique por: swapon -s ou top :

    top -bn1 | grep -i swap
    

    Deve exibir a linha como: KiB Swap: 4194300 total, 4194300 free

    Para desativar, use o comando sudo swapoff swapfile .

  4. Adicione-o ao arquivo fstab para torná-lo persistente na próxima inicialização do sistema.

    echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
    
  5. Teste novamente o arquivo de troca na inicialização:

    sudo swapoff swapfile
    sudo swapon -va
    

    Nota: Os comandos Above verificam novamente a sintaxe do arquivo fstab , caso contrário, o Linux não pode inicializar corretamente.

por kenorb 10.07.2016 / 14:44
8

Há uma maneira gráfica de fazer isso usando o gparted.

Execute o Gparted com:

sudo gparted

Se você não instalá-lo, poderá instalá-lo usando

sudo apt-get install gparted

Quando o gparted estiver em execução:

  1. Aloque a partição como você faria clicando com o botão direito do mouse em qualquer bloco não alocado e clicando em new
  2. Formate a partição como linux-swap
  3. Clique com o botão direito do mouse na partição e clique em swapon

Deve haver um ícone de chave ao lado do nome da sua partição quando você estiver pronto

    
por Charles V 16.09.2016 / 20:33
2

de linux.com basta criar um arquivo de swap, pois isso é mais flexível e você pode ajustar dinamicamente quantos e quantos grandes armazenamentos de swap você possui. Isso também permite mover a partição swap para longe do disco do sistema, tornando o sistema mais rápido. Além disso, se você usar vários espaços de troca, ajuste sua prioridade de uso para o mesmo valor, para que round-robin seja usado para escrever neles, permitindo que você obtenha ainda mais melhorias de velocidade.

p.s. Eu usaria UUID em vez de nome do dispositivo, porque é facilmente possível alterar a ordem do dispositivo se você deixar o armazenamento USB dentro do slot USB e simplesmente removendo e conectando os cabos sata - você não precisa se preocupar muito com o drive conectado .

    
por Osis 06.04.2011 / 13:54
2

Este é um tutorial abrangente sobre como fazer um Ram Drive para o Ubuntu. Infelizmente .. as screenshots não aparecem neste cut and paste .. Mais tarde vou adicioná-los, mas eles não são necessários.

A primeira coisa que você precisa fazer é criar espaço para sua unidade de memória RAM. Eu tenho um sistema de boot duplo com apenas um disco rígido de 32GB. Meu Ubuntu é realmente instalado em um cartão SD (sim, uma instalação real e não uma coisa Live Casper). Minha troca também foi no SD e pode ficar desgastada rapidamente. Eu olhei para cima como mudar a troca e encontrei este artigo e não gostei das respostas, então eu fiz um tutorial enquanto fazia a mudança.

Se você simplesmente deseja aumentar ou diminuir sua partição de swap, você só precisa aumentar ou diminuir a partição através de seu gerenciador de partição favorito. O Ubuntu já sabe para onde ir e é independente do tamanho. Se você quiser alterar o local ou fazer um novo Swap, continue lendo. A primeira coisa que você precisa fazer é encolher seu disco rígido para fornecer espaço para uma troca. Se você está encolhendo um disco com o sistema Windows nele, é melhor usar o Windows para diminuir o disco (ele sabe seu próprio material). Se você está em um ubuntu puro, tente redimensionar usando um Ubuntu USB ao vivo.

Instruções de redimensionamento do Windows:

  1. Faça o backup do seu sistema e desfragmente sua unidade.
  2. Clique com o botão direito na barra de início.
  3. Selecione Gerenciamento de disco
  4. Clique com o botão direito no DRIVE CORRETO
  5. Selecione Encolher.
  6. Digite o valor correto.

Se você estiver no Ubuntu. Certifique-se de usar as ferramentas do Ubuntu. Para terminar a alocação, vou usar um Live USB inicializável do Ubuntu que inclui o GParted. Um Live USB é a melhor maneira de usar o Gparted por qualquer motivo, e você deve ter um USB de sua primeira instalação ou fazer um para se manter à mão.

Digitar em 2000 não foi permitido porque não havia espaço suficiente para isso, apesar de eu ter "desfragmentado" a unidade (não acredito que o Windows tenha realmente desfragmentado). Com alguma experimentação, me permitiram 1000. Então tentei 1000 novamente e funcionou. Eu deveria agradecer ao meu professor de matemática da escola primária por mais do que os programadores do MS Windows. Isso me deixou com 1,95 gb que é perto o suficiente para minha matemática da escola primária.

Formate a partição

Agora estou pronto para o gparted formatar esse espaço como uma unidade de troca adequada. Se você estiver no Windows e alternando entre o Ubuntu e o Windows, CERTIFIQUE-SE DE QUE SEGUE A TECLA SHIFT quando clicar em "Power" e "Shut down". Isso é muito importante, especialmente quando você está mexendo com as particularidades da unidade "C" em outro sistema operacional. Se você é dual boot, você já deve saber que o Windows faz um falso desligamento em circunstâncias normais. Algumas pessoas desativaram o "Fast Boot". Eu não tenho essa escolha no meu sistema (Windows 10) e devo usar a tecla Shift graças ao meu amigo Google. Se você inicializar com um USB ao vivo e não puder montar o drive "C" (clicando nele), você não desligou completamente corretamente. Recarregue as janelas e desligue novamente usando a tecla Shift.

Agora você está no modo ao vivo do Ubuntu e leia abaixo:

  

Se você é um Ubuntu puro e não encolheu no Windows. Você usará a opção Redimensionar em gParted. Se você já encolheu sua unidade, não faça a etapa de redimensionamento. Você pode digitar GParted na barra Dash e obter o aplicativo rapidamente. Clique com o botão direito do mouse na unidade que você deseja redimensionar.

Agora vamos formatar o espaço não alocado como uma unidade particionada:

Antes:

Eu não sabia o que fazer, então olhei para o Ram Drive anterior no SD. Está formatado como Linux Swap. Então, eu formatei minha nova alocação que recentemente encolhi como Linux Swap também. Eu disse OK à Partição Primária e ao aviso e funcionou!

  

Formatando a partição

Após o formato e nova partição

É uma coincidência que a antiga partição de troca no sd tenha sido chamada de mmblk1p5 e a nova também seja p5 com mmblk0 na frente. Seu poderia ser p6 ou p7. Não se preocupe.

O mmblk0 é o disco físico e p é a partição nesse disco físico. E mmblk01 é outro disco físico, etc. (Esse é o meu SD) Antes de fazer mais algum trabalho, abri o Windows novamente para garantir que o Windows ainda inicializasse. Você não precisa fazer este passo se você é preguiçoso ou em uma máquina ubuntu pura. Se ele quebrou o Windows, eu provavelmente iria limpar o Windows fazer uma nova instalação do Ubuntu nesse disco (com um swap também). Se eu quebrei o meu sistema, eu não precisaria seguir mais nenhuma etapa porque eu posso alocar o swap na nova instalação. Tudo correu bem e o Windows inicializou. Agora você pode ver a nova partição no gerenciador de discos do Windows: (Clique com o botão direito do mouse na barra de início para obter o gerenciamento de disco)

Agora, anexe o Swap à rotina de inicialização

As respostas anteriores a esta pergunta, na verdade, tinham comandos swapon / off que não são necessários e podem ser complexos.Tudo o que precisamos fazer é encontrar o arquivo correto e apontar o swap para a nova partição. Novamente, se você apenas redimensionou a partição, não precisa fazer nada. Já está configurado para encontrar a partição. O tamanho é feito automaticamente.

Se você alterou a partição ou está realizando a primeira troca, leia abaixo:

Deixe-me dizer-lhe, esta é a primeira vez que estou fazendo isso. Eu não sou um geek do UNIX e prefiro ferramentas GUI. Estou aprendendo e cruzando os dedos enquanto faço este tutorial. Tudo correu bem até agora. Na raiz do seu sistema existe um diretório chamado etc. Dentro desse diretório, existe um arquivo chamado fstab (sem extensão). Você precisará editar este arquivo com os direitos de super usuário "su". Antes de fazermos isso, precisamos do UUID da nova Partição de Swap que você fez com o Live USB. Digite sudo su Agora você está no modo Superusuário. Você pode fazer qualquer coisa (inclusive limpar sua própria existência).

Digite blkid e procure o uuid da nova partição swap. Eu vi o meu abaixo e destaquei:

Não dê atenção ao PartUID.

Agora, as outras pessoas vão dizer o tipo:

sudo gedit /etc/fstab

No entanto, tentei isso e não encontrei o arquivo correto (comentários, por favor).

Então, eu apenas digitei gedit e abri o caminho da GUI (Sucesso!). Desde que eu já estava no modo Super Usuário (sudo su) tenho permissão de root para fazer qualquer coisa no Gedit, inclusive salvando o arquivo depois que eu mudei. Maravilhoso! Antes de alterar ou corromper qualquer coisa, salve o fstab como backup chamado ... fstab.bak .

Faça o backup usando o modo de GUI e escolha o familiar “Save As” e adicione “bak” ao arquivo fstab.bak . Verifique se há uma extensão .bak. Geeks dirá para você usar o comando cp do terminal, mas nós, novatos, não conseguimos encontrar o arquivo no terminal para chegar até aqui em primeiro lugar. Assim como qualquer processador de texto, após o comando “salvar como”, seu arquivo atual é agora o fstab.bak . Abra o arquivo real que você tinha antes e feche o arquivo de backup. Verifique se você está editando o fstab real sem extensão. Se você editar o arquivo de backup, nada acontecerá quando você reiniciar, mais sua cópia de backup não será um backup real do original.

Meu arquivo fstab original é assim:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/mmcblk1p6 during installation
UUID=a611601a-6ea8-4e34-9859-42a2470cac29 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/mmcblk0p1 during installation
UUID=00F2-C0CE  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/mmcblk1p5 during installation
UUID=8fb20159-62e4-41a3-8550-791c7a66c328 none            swap    sw              0       0

A última linha (eu fiz vermelho para você), tem a informação de troca original que é usada provavelmente no tempo de inicialização. Do comando blkid anterior, pude ver minha nova unidade UUID. Copie essa frase, destacando o texto no terminal e, em seguida, clicando com o botão direito e escolhendo copiar. Cole essa frase em outro editor separado sem su direitos como um bloco de notas (você pode usar o Libre Office, e os geeks podem usar nano ). Essa etapa ajuda você a obter o texto certo facilmente sem as aspas, para que possa colá-lo facilmente no arquivo fstab . Você quer alterar este arquivo o mínimo possível.

New UUID
UUID="709ea197-e6fb-428b-9c1f-4b258452b10c"

Então, meu novo UUID está listado em vermelho acima. Tudo que eu preciso fazer é mudar o uuid para o swap. Se você não tem nenhuma unidade swap, então copie minha linha no arquivo fstab acima e adicione o uuid apropriado do comando blkid anterior. (escolha o direito uuid por favor!)
Se esta for sua primeira linha de Swap, certifique-se de incluir a linha completa com o material extra

none            swap    sw              0       0

Não se preocupe tanto com o espaçamento exato.

Meu novo arquivo é assim: Observe que adicionei um comentário acima da minha alteração também O caractere # significa que é um comentário.

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/mmcblk1p6 during installation
UUID=a611601a-6ea8-4e34-9859-42a2470cac29 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/mmcblk0p1 during installation
UUID=00F2-C0CE  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/mmcblk1p5 during installation  NOW changed to mmcblk0p5
UUID= 709ea197-e6fb-428b-9c1f-4b258452b10c  none            swap    sw              0       0

Não cole as aspas. Não tem espaços após o sinal = .

Salve seu arquivo.

Abra novamente, apenas para ter certeza de que suas alterações foram salvas. Feche o gedit e o terminal com os perigosos su de direitos que os nerds vão censurá-lo por fazer (porque é fácil trabalhar com ... e fácil destruir coisas também).

REINICIE e cruze os dedos!

Eu reiniciei e, em seguida, verifiquei se minha troca estava funcionando, observando o aplicativo de desempenho do sistema. Eu ainda tinha uma unidade de swap! Mas era o novo ou o antigo? Não consegui verificar se a minha nova unidade estava realmente carregada porque a nova é do mesmo tamanho da unidade antiga. Portanto, eu digitei: swapon (NÃO TIPO NADA MAIS DO QUE O SWAPON e ele listará apenas o swap para você: seguro). Agora vejo minha nova unidade no mmblk0p5 que corresponde ao trabalho do UUID que fiz em fstab . Meu disco principal slim de 32gb entrou em vigor:

Isso conclui este tutorial de um usuário novato que nunca fez isso antes. Metade da razão pela qual eu fiz este tutorial foi para que os Geeks que nos ajudam (e obrigado) possam ver como ajudar usuários iniciantes. Eu suspeitava que as respostas anteriores eram enganosas e decidi fazer um tutorial enquanto fazia meu trabalho ... Adivinhando das outras respostas que eram úteis, concluí que tudo que eu precisava fazer era editar o fstab flle e reiniciar. Tudo funcionou bem e eu ainda tenho o Windows 10 e ainda não limpei meu sistema. Se alguém souber como compartilhar um pagefile.sys do Windows como um arquivo de swap do Linux, eu estaria interessado, já que 2 GB é usado para isso no Windows e o hd é muito caro em minha máquina de 32 GB.

    
por Bhikkhu Subhuti 29.01.2016 / 16:09
1

Você precisa ter um sistema de arquivos swap definido em / etc / fstab. Deve conter uma linha semelhante a

UUID=67682d1b-a1d8-4377-a3dd-67340c141619 none            swap    sw              0       0

É claro que você precisa substituir o valor do UUID pelo identificador do seu dispositivo.

    
por Adam Byrtek 05.04.2011 / 22:20
1

(substitua o "x" em sdax pelo número da partição swap, por exemplo: sda5)

substitua "xxx" pelo número UUID, por exemplo: 67682d1b-a1d8-4377-a3dd-67340c141619)

su (dê senha para obter permissão de root)

blkid / dev / sdax (obter UUID) mkswap / dev / sdax (partição de troca de formatos) swapon -U xxx

nano / etc / fstab (editar fstab)     UUID = xxx nenhum swap sw 0 0 (insira e salve este texto para tornar o swap permanente)                             (então feche fsantab)

nano /etc/initramfs-tools/conf.d/resume (crie o arquivo "resume" e salve este texto para usar o hibernate / resume)     RESUME = UUID = xxx (ctrl + x para fechar nano) - & gt; (y para salvar)

reiniciar a máquina

faça o login e agora você pode testar o hibernate / resume

    
por wmameer 16.06.2013 / 13:55

Tags