login
Wed 22 of Mar, 2023 (19:01 UTC)

[root@madeira.eng.br ~]#

Linux - It is now safe to turn on your computer

atualizar cache imprimir

Adicionando uma nova área de Swap

Criada por: Frederico Madeira, última modificação em: Wed 02 of Apr, 2008 (14:49 UTC)

Introdução


Como já sabemos, memória swap é uma memória virtual, utilizada pelo Linux quando não existe mais memória disponível no sistema. Normalmente, essa memória é uma partição que foi formatada para esse fim no momento da instalação do sistema operacional.

Recomenda-se que essa memória possua 2x o tamanho da memória RAM do sistema.
Supondo que por algum motivo na instalação, não tenha sido definido corretamente uma partição swap e você comece a enfrentar problemas em função disso, ou ainda, você aumentou a memória RAM do computador e agora quer aumentar a área de swap . Neste artigo, veremos como adicionar mais uma área de swap em nosso sistema operacional.

Para atingir nosso objetivo, temos duas alternativas:
1. Criar a área de swap a partir de uma partição (Swap partition);
2. Criar a área de swap a partir de um arquivo do nosso sistema de arquivos (Swap file).

1. Adicionando uma Swap Partition


Supondo que seu sistema possua a partição disponível /dev/sdb1, precisaremos formatá-la para que ele seja utilizada com swap (da mesma forma que formatamos uma partição para utilizar ext3 ou ntfs), em seguida precisamos ativá-la e finalmente devemos informar ao sistema que em cada boot ele deve ativar essa partição como área de swap disponível. Para tanto, devemos seguir os seguintes passos:

1.1 - Formatando a nova partição


/sbin/mkswap /dev/sdb1


1.2 - Ativando a nova partição


/sbin/swapon /dev/sdb1


1.3 - Definindo para que ela seja ativa em boot


Deve ser inclusa a linha abaixo no arquivo /etc/fstab

/dev/sdb1               swap                    swap    defaults        0 0


2. Adicionando um Swap File


Supondo agora que você não possua ferramentas para fazer o particionamento, ou que essa opção não seja possível. A saída é usar um arquivo como área de swap. Para tanto, precisaremos criar o arquivo, formatar o arquivo para que ele seja utilizado com swap, ativá-lo para que seja utilizado pelo sistema e em seguida colocá-lo para ser carregado no boot. Para tanto, devemos seguir os seguintes passos:

2.1 - Preparação do Arquivo


Supondo que o tamanho do arquivo seja múltiplo de 1024, e você queira adicionar uma swap de 1 Gb.
Usaremos o comando dd para realizar a criação desse arquivo.

dd if=/dev/zero of=/swapfile bs=1024 count=1024000


Onde:
of = arquivo a ser criado
bs = tamanho do bloco
count = tamanho do arquivo

A saída desse comando será algo parecido com:

1024000+0 records in
1024000+0 records out
1048576000 bytes (1,0 GB) copied, 114,686 seconds, 9,1 MB/s



2.2 - Formatando o arquivo para ser usado como swap


/sbin/mkswap /swapfile


A saída esse comando será:

Setting up swapspace version 1, size = 1048571 kB


2.3 - Ativando o arquivo como área de swap


/sbin/swapon /swapfile


2.4 - Definindo para que ele seja ativo em boot


Deve ser inclusa a linha abaixo no arquivo /etc/fstab

/swapfile               swap                    swap    defaults        0 0



3.0 - Verificando se a área de swap está ativa


Se você chegou nesse ponto, sua nova swap já deve estar ativa em seu sistema, seja via partição ou via arquivo.
Para validar, use o comando free, ele exibirá a quantidade de memória swap do sistema(mostrará o valor somado de todas as swaps).

No meu caso, a saída desse comando foi:

[root@localhost /]# free
             total       used       free     shared    buffers     cached
Mem:       1543916     846804     697112          0     106860     131024
-/+ buffers/cache:     608920     934996
Swap:      1548272      33300    1514972


Possuo ativo 1.5 Gb de memória swap.

Caso você queira informações mais detalhadas, consulte o arquivo /proc/swaps que terá um conteúdo parecido com:

[root@localhost /]# cat /proc/swaps 
Filename                                             Type            Size    Used    Priority
/dev/mapper/VolGroup00-LogVol01                     partition     524280  60008     -1
/swapfile                                           file          1023992   0       -2


Vemos que minha partição original de swap era de 524 Mb e o meu novo arquivo de swap possui 1.0 Gb.

Frederico Madeira
02/04/2008

Comentários

Reply to this comment

Tamanho da área de swap

por Guilherme Garnier, Thu 18 of Dec, 2008 (10:59 UTC)
Ótimo artigo, parabéns.

Sobre essa recomendação de criar a área de swap com o dobro da memória RAM, eu li recentemente que isso não é mais necessário atualmente. Veja esse artigo:

http://tarzxvf.com/voce-realmente-deve-usar-o-dobro-de-ram-como-swap