HowTo: Linux - Administração - swap
Início
1. Introdução
A memória virtual permite estender para disco a memória RAM.
Para espaço de swap pode usar-se uma partição específica ou simplesmente o um ficheiro.
Início
2. Como criar e activar uma partição de memória virtual (swap)
Em Linux pode criar-se uma partição separada do tipo 'swap'.
- Formatar uma partição swap:
$ mkswap
- Para activar todas as partições 'swap':
$ swapon --all [ou simplesmente '-a']
- Para desactivar todas as partições 'swap':
$ swapoff --all
Início
3. Como criar e activar um ficheiro de memória virtual (swap)
Para criar um ficheiro de 'swap' deve primeiramente criar-se um ficheiro
(por exemplo, "/swapfile") com o tamanho desejado (exemplo com 4GBytes),
dar-lhe a protecção conveniente, formatá-lo e pô-lo activo:
$ sudo fallocate -l 4G /swapfile | [ Criar um ficheiro de 4GBytes ] |
$ sudo chmod 600 /swapfile | [ Atribuir-lhe "rw" para o utilizador "root" ] |
$ sudo mkswap /swapfile | [ Formatá-lo como ficheiro 'swap' ] |
$ sudo swapon /swapfile | [ Activar o ficheiro 'swap' ] |
Para a desactivar usa-se o comando 'swapoff' de um modo análogo ao da activação.
Início
4. Visualizar espaço de 'swap'
Para visualizar a situação da memória, podem usar-se os comandos "free" e "swapon"
- O comando "free" permite visualizar a situação da memória quer real (RAM) quer virtual (swap)
$ free
- O comando "swapon", com a opção "--show", mostra os ficheiros e partições de swap activas
$ swapon --show
Início
5. Parâmetros de sistema para gerirem o acesso à área de 'swap'
Para gerir o espaço de 'swap' existe o parâmetro 'swappiness' que pode
tomar valores no intervalo [0,100]. Em que '0' informa o kernel que só deverá deslocar para a área
'swap' quando é mesmo necessário e em que '100' diz ao kernel que use esse espaço mais agressivamente.
Para versões do kernel superiores 3.5, o valor '0' desliga o swap, assim, deve usar-se como valor minimo '1'.
Para saber o valor actual de 'swappiness' fazer:
$ cat /proc/sys/vm/swappiness
Para alterar o valor actual de 'swappiness', desativa-se o 'swap', depois
altera-se o ser valor e finalmente volta-se a activar o 'swap':
$ sudo swapoff --all
$ sudo sysctl vm.swappiness=<valor> [exemplo: vm.swappiness=1]
$ sudo swapon --all
Para alterar o permanentemente o valor de 'swappiness', por exemplo, para '10',
editar o ficheiro '/etc/sysctl.conf' e alterar 'vm.swappiness' para o valor desejado
vm.swappiness = 10
Na próxima vez que o linux arranque esse valor será usado.
Início
6. Documentação e Links Úteis
Início