DevSecOps

4 abr, 2008

Adicionando uma nova área de Swap

Publicidade

Memória Swap é uma memória virtual, utilizada pelo Linux quando não existe mais memória RAM 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:

10240000 records in

10240000 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 desse 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 incluída 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, pois 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