Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /home/plugmasters/www/sys/admin/includes/classes/class.install.php on line 543
Adicionando uma nova área de Swap, por Frederico Madeira

  » Início » Desenvolvimento » Software Livre » Adicionando uma nova área de Swap
 
Avaliação: | Publicado em: 18/04/2008
Adicionando uma nova área de Swap
Frederico Madeira Formado em Engenharia Eletrônica pela UPE, é Administrador de Redes, LAN / WAN, responsável pela administração de diversos servidores Linux e Windows 2003. Certificado CCNA Cisco. Estudante de Pós Graduação de Segurança de Redes na AESO. Desenvolve projetos em Linux, PHP, MySQL, projetos de Rede, LAN, WAN e wifi.


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
www.madeira.eng.br
02/04/2008

Thiago VEntura <the.ventura@hotmail.com>
Olá uma correção ou talvez vocês esqueceram de mencionar, a memoria Swap tambem se encontra no Windows pelo AltPause/Break = Advanced = Performance Options = escolher a segunda aba e pronto, lá você determina o tamanho que quiser de spaço do Swap.