Alocar swap após a instalação do Ubuntu 14.04 LTS

25

Eu instalei o Ubuntu 14.04 LTS cerca de um mês atrás, estou inicializando o Ubuntu 14.04 LTS e o Windows 8.1.

Não criei nenhum espaço de troca durante a instalação, mas agora preciso adicionar isso para o Ubunutu. Tentei verificar se havia algum espaço de troca atribuído usando sudo swapon -se obtive cabeçalhos vazios, como mostrado abaixo:

ahsan@ahsan-Inspiron-N5110:~$ sudo swapon -s
Filename                Type        Size    Used    Priority

Então eu tentei alocar algum espaço de troca usando dd of=output.dat bs=1 seek=390143672 count=0e a saída foi:

0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000170607 s, 0.0 kB/s

Eu também tentei o comando sudo dd if=/dev/zero of=/swapfile bs=1G count=4e a saída foi:

dd: memory exhausted by input buffer of size 1073741824 bytes (1.0 GiB)

Então eu tentei, sudo fallocate -l 4G /swapfilemas a saída foi:

fallocate: /swapfile: fallocate failed: Operation not supported

Também verifiquei meus discos rígidos a seguir é minha estrutura de disco rígido:

ahsan@ahsan-Inspiron-N5110:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        99G   18G   77G  19% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            1.4G  4.0K  1.4G   1% /dev
tmpfs           286M  1.2M  284M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.4G   24M  1.4G   2% /run/shm
none            100M   56K  100M   1% /run/user

E a saída de free -mé:

ahsan@ahsan-Inspiron-N5110:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          2850       2665        184        421         25        846
-/+ buffers/cache:       1794       1055
Swap:            0          0          0

Por favor, mostre-me como posso adicionar a troca sem afetar nenhum dos meus dados. Instalei o Ubuntu LTS de 64 bits e tenho 3 GB de RAM e um disco rígido de 500 GB.

Estive nesta pergunta Ask Ubuntu e tentei os comandos e a saída é:

ahsan@ahsan-Inspiron-N5110:~$ sudo dd if=/dev/zero of=/swapspace bs=1G count=4
4+0 records in
4+0 records out
4294967296 bytes (4.3 GB) copied, 47.1951 s, 91.0 MB/s
ahsan@ahsan-Inspiron-N5110:~$ sudo dd if=/dev/zero of=/swapspace bs=1G count=4sudo mkswap /swapspace
dd: invalid number ‘4sudo’
ahsan@ahsan-Inspiron-N5110:~$ 
Ahsan Hussain
fonte
Exatamente o que você deseja consertar? "memória esgotada pelo buffer de entrada", fallocate?
Braiam
1
A pista estava na mensagem de erro dd: invalid number '4sudo', certo? Eu acho que você teve um problema de copiar / colar. Que bom que você resolveu o seu problema! No futuro, leia essas mensagens de erro com cuidado e tente descobrir por que você está recebendo essa mensagem! ;-) Boa sorte.
shellter 07/01

Respostas:

49

Primeiro, para criar 4.000 MB de espaço de troca:

$ sudo dd if=/dev/zero of=/swapspace bs=1M count=4000
4000+0 records in
4000+0 records out
4194304000 bytes (4.2 GB) copied, 5.92647 s, 708 MB/s

ou

$ sudo fallocate -l 4000M /swapspace 

Em seguida, transforme-o em um arquivo de troca utilizável:

$ sudo mkswap /swapspace
Setting up swapspace version 1, size = 4095996 KiB
no label, UUID=7d1895e4-7ccf-42c6-979a-51ebddb49e91

Ative:

$ sudo swapon /swapspace 

Confirme os espaços de troca ativos:

$ cat /proc/swaps
Filename                Type        Size    Used    Priority
/swapspace              file        4095996 0       -1

Em seguida, adicione a seguinte linha ao / etc / fstab para ativar a nova troca na inicialização:

/swapspace none swap defaults 0 0

Veja também esta página da wiki: https://help.ubuntu.com/community/SwapFaq

Ben Grimm
fonte
editou a pergunta, por favor, dê uma olhada
Ahsan Hussain
desculpe eu equivocadamente tentou comando executado duas vezes, eu acho que é trabalhado para mim :) agora também mostrando swap no monitor do sistema .. Muito obrigado
Ahsan Hussain
Eu reiniciei a máquina e a troca se foi, não está disponível novamente
Ahsan Hussain
1
A parte "falta de memória" deve ser adicionada à resposta. Os comentários são transitórios e podem ser excluídos.
nyuszika7h
1
sudo apt-get install swapspace é a melhor opção para comparar com a alocação assim?
LOG_TAG 27/09/16
6

Para responder indiretamente à sua pergunta, você não precisa gerenciar os arquivos de troca. Há um pacote chamado swapspace que adiciona dinamicamente os arquivos de troca, conforme necessário.

  1. sudo apt-get install swapspace

Então você está pronto. Seu sistema aumentará e reduzirá o espaço de troca, conforme necessário.

Jay _silly_evarlast_ Wren
fonte
5

Siga esses passos:

  1. sudo dd if=/dev/zero of=/mnt/{filename}.swap bs=1M count={swap_size}
  2. sudo mkswap /mnt/{filename}.swap
  3. sudo swapon /mnt/{filename}.swap
  4. sudo gedit /etc/fstab
  5. Adicione o seguinte texto no final do arquivo, /mnt/{filename}.swap none swap sw 0 0

Nota: Substitua {filename} por qualquer nome que você deseja definir para o arquivo e substitua {swap_size} pelo tamanho que deseja atribuir ao arquivo de troca. Verifique se o tamanho do arquivo deve ser o dobro do tamanho da memória.

Wolverine
fonte
2
"Verifique se o tamanho do arquivo deve ser o dobro do tamanho da memória." Atualmente, esse conselho não se aplica mais, a menos que você esteja com pouca memória (por exemplo, 1 GB ou menos). Se você deseja usar a hibernação, precisará de pelo menos a quantidade de memória física como swap, mas não há razão para ter 8 GB de swap se você tiver 4 GB de RAM.
nyuszika7h
Sua sugestão é considerada.
Wolverine