Estava eu refletindo sobre a real utilidade das partições swap hoje em dia, com tudo que é PCzinho de supermercado com 2GB ou mais de RAM.
Todos sabem que swap bom é swap não feito. Em PCs com bastante memória, depois de um uptime longo, mesmo com bastante memória livre, vemos parte da partição swap usada, mas geralmente pouca coisa. O kernel coloca alguma coisinha lá, mas não acredito que tenha impacto relevante (para melhor) no desempenho o fato de estar lá, afinal é um HD...
Nos casos onde a swap é requerida para valer, quando a memória RAM esgota-se, o desempenho vai para o vinagre e o usuário não tem outra coisa a fazer a não ser comprar mais RAM ou diminuir o uso dela.
Então, gente, swap é em boa parte inútil nos desktops. E o que acho pior é ter que existir uma partição para isso. Que possui problemas: não é facilmente redimensionável e adiciona complexidade desnecessária aos instaladores. Você tinha 2GB, ficou com 512MB, precisa de mais swap? Redimensione partições. É péssimo, não acham? Particionamento é algo que tem que se mexer o mínimo possível. Particionou uma vez, não mexe mais.
Aí que entram os arquivos de swap, que são muito mais flexíveis, pois você pode aumentar, diminuir a vontade. Perda de desempenho por estar sobre de uma sistema de arquivos com journaling? Deve existir. Mas quem se importa? Swap é usado para quase nada mesmo. Ele fica lá como um reserva, esquentando banco. Entra em cena só quando o kernel não tiver mais o que fazer, quando a memória acabar de fato.
O melhor é que os componentes do Linux hoje suportam o uso de arquivos de swap: kernel, util-linux-ng (mkswap, swapon, swapoff, mount).
É possível trocar a partição de swap por um arquivo de swap manualmente: [all variants] HOWTO: Use swapfile instead of partition and hibernate - Ubuntu Forums
Achei esse Blueprint do Ubuntu (ainda do Karmic), propondo a mudança, de autoria de Scott James Remnant, empregado da Canonical, desenvolvedor do Upstart:
Use Swap Files Instead of Swap Partitions
Em resumo, está tudo disponível. É só colocar a funcionar. Porém está bloqueado por esse bug, atribuído ao kernel: Bug #386554 in linux (Ubuntu): “System behaved as if OOM when it had plenty to spare”. Aparentemente o kernel não é tão esperto assim e começa, quando sem swap, a dar piti cedo demais. Suponho que o bug esteja bloqueando a implementação porque com o uso do arquivo de swap seria possível desativa-lo, ficando o sistema sem swap nenhum (o que é o recomendando para os netbooks com SSDs de quinta categoria). Daí nesse caso o sistema tornaria-se um 486 muito antes de acabar a memória. Outro bug talvez relacionado: Bug #131094 in linux (Ubuntu): “Heavy Disk I/O harms desktop responsiveness”
Marcos FRM
Highlander
Registrado
10.3K Mensagens
712 Curtidas