Logo Hardware.com.br
Marcos FRM
Marcos FRM Highlander Registrado
10.3K Mensagens 712 Curtidas

Swap file, algo que já deveria ser amplamente usado

#1 Por Marcos FRM 01/10/2010 - 20:02
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”

super.gif
Responder
Marcos FRM
Marcos FRM Highlander Registrado
10.3K Mensagens 712 Curtidas
#31 Por Marcos FRM
22/11/2010 - 14:25
Sinceramente já acreditei mais na "morte do desktop". Hoje estou mais cético. Pela fragilidade de você depender de uma conexão com a internet para fazer qualquer coisa e pelo fato da banda larga no Brasil ser uma piada.

O Ubuntu tem (ainda?) boas chances de passar a usar arquivos de swap no lugar de partições. O Blueprint que linkei no post inicial do tópico trata do assunto. Tomara que o pessoal da Canonical volte a trabalhar nisso.
...
TerraSkilll
TerraSkilll Zumbi Moderador
4K Mensagens 1.2K Curtidas
#32 Por TerraSkilll
22/11/2010 - 15:23
rafaelsoaresbr
Se não me falha a memória, pelo que li no livro do Tanenbaum (para um trabalho do curso - justamente sobre alocação de memória), o Windows trabalha com o arquivo de paginação mesmo que não haja real necessidade. Ou seja, ele não espera a ram ficar cheia pra mover algumas páginas pra lá, mas sim as envia quando constata que estão inativas por muito tempo. Como é mais fácil recuperá-las de lá ao invés de onde quer que estejam no disco, recarregar uma página se torna mais rápido.

No caso da hibernação, o arquivo é uma cópia exata da ram (mesmo as partes não usadas, já que a alocação não é consecutiva), por isso tem o mesmo tamanho dela.

Voltando ao Linux, creio que um arquivo de swap seria uma solução mais simples para uso em desktop, principalmente para iniciantes. Criar uma partição swap pode gerar perguntas do tipo "por que sumiu 2 GB do HD". Durante a instalação, o usuário pode ser avisado do que se trata e ter a opção de mudar isso (o Morimoto fez isso no Kurumin e ficou muito bom, na minha opinião).

Sinceramente já acreditei mais na "morte do desktop". Hoje estou mais cético. Pela fragilidade de você depender de uma conexão com a internet para fazer qualquer coisa e pelo fato da banda larga no Brasil ser uma piada.

Nunca fui muito fã desse pensamento de "nuvem", e por motivos parecidos com os seus. Além disso, creio que certas aplicações se manterão firmes em computadores locais por um bom tempo.

Abraços.
Contribua para um fórum melhor: pense antes de postar.
"It isn't a contest. Just enjoy the ride." -> Seth Vidal
Hardware.com.br no Youtube!
MaxRaven
MaxRaven General de Pijama Registrado
4.2K Mensagens 111 Curtidas
#33 Por MaxRaven
22/11/2010 - 16:04
O que é morte para vocês? Calma ai Max, aqui não é fórum de religião ou filosofia.

Brincadeiras a parte, essas tais mortes do desktop na verdade é a mudança, a evolução do "paradigma desktop". Não sei vocês, mas eu sou da época que desktop não tinha mouse e nem janelas para trabalhar. Na verdade aquilo nem era um desktop, mas no fim das contas acaba sendo o dektop da época.

Até ano passado não me via usando só o notebook, até mesmo achava dispensável, nem tinha. Até que resolvi comprar outra maquina e acabei comprando um note por não estar parando em casa. De inicio não iria substituir meu desktop, contudo hoje, o desktop só tem sido usado como midia center.

Ai a umas semanas comprei um MID (esses tablets chineses com android) e vejam só, notebook já está encostado. Tudo bem que algumas coisas não posso deixar de usar aqui, por exemplo, mais confortável e pratico usar o note ou desktop para digitar meus textos no BrOffice, mas se tivesse uma aplicação decente suficiente pro android que desse conta da função e eu tivesse aqui um teclado wireless nem para isso eu precisaria.

Outra coisa, lembrem-se, nuvem não quer dizer obrigatoriamente internet, está mais para cliente-servidor.

Toda mudança é gradual e as vezes, mas sempre há mudança, disso tenham certeza.
Bit0N3
Bit0N3 Cyber Highlander Registrado
14.5K Mensagens 3.4K Curtidas
#34 Por Bit0N3
22/11/2010 - 16:17
Esse lance de nuvens resumindo, é alguem que descobriu uma forma de ganhar dinheiro e esta fazendo a cabeça da moçada pra comerem no restaurante dele.

igual cartao de fidelidade.

e pena que ele vai conseguir, pois vai ser bem pior.

e a ideia do RAMDISK ? não gostaram ? fica um swap em disco virtual na memoria.

[]'s
Recomendação: Lord of the rings online MMORPG SHow de bola, roda no fedora pelo lutris.
D. Henryk
D. Henryk Geek Registrado
1.4K Mensagens 311 Curtidas
#35 Por D. Henryk
22/11/2010 - 16:57
Marcos FRM disse:
Sinceramente já acreditei mais na "morte do desktop". Hoje estou mais cético. Pela fragilidade de você depender de uma conexão com a internet para fazer qualquer coisa e pelo fato da banda larga no Brasil ser uma piada.

O Ubuntu tem (ainda?) boas chances de passar a usar arquivos de swap no lugar de partições. O Blueprint que linkei no post inicial do tópico trata do assunto. Tomara que o pessoal da Canonical volte a trabalhar nisso.


TerraSkilll disse:

Nunca fui muito fã desse pensamento de "nuvem", e por motivos parecidos com os seus. Além disso, creio que certas aplicações se manterão firmes em computadores locais por um bom tempo.

Abraços.


(Off-topic)

Nunca fui muito a favor também, principalmente pelo fato de haver arquivos que eu prefiro manter como sendo "apenas meus".

Forte abraço.
ideia.png:: Leia a Bíblia


(...) Político mal-intencionado (...) ->> Pleonasmo detectado.
TerraSkilll
TerraSkilll Zumbi Moderador
4K Mensagens 1.2K Curtidas
#36 Por TerraSkilll
22/11/2010 - 17:40
MaxRaven

Brincadeiras a parte, essas tais mortes do desktop na verdade é a mudança, a evolução do "paradigma desktop". Não sei vocês, mas eu sou da época que desktop não tinha mouse e nem janelas para trabalhar. Na verdade aquilo nem era um desktop, mas no fim das contas acaba sendo o dektop da época.

Não sou tão velho assim, embora ainda não me dê bem com telas sensíveis ao toque cap_feceiro.png: (me lembra http://www.ganchinhock.com/wp-content/uploads/2010/08/070319_what_is_cnn_news.gif)

Brincadeiras à parte, não vejo problemas em usar softwares assim. Só não sou fã da ideia como é mostrada hoje. Concordo com a parte de cliente-servidor, mais ainda para empresas. Mas, do jeito que a coisa é mostrada, às vezes dá a impressão de que todo software vai ser movido para a nuvem, quando não é bem assim. Não é a ideia de mover as coisas para as nuvens que me incomoda, mas sim mostrá-la como se fosse a solução ótima, perfeita.

(estamos desvirtuando, não?)

Voltando ao swap file.
ice2642
e a ideia do RAMDISK ? não gostaram ? fica um swap em disco virtual na memoria.

Corrija-me se estiver enganado, mas o ramdisk não é sobre usar memória ram para criar um "disco rígido virtual"? Se sim, não me parece uma boa ideia para esse caso, já que você "perde memória ram para ganhar espaço para o swap". Cairia na mesma questão de uma partição de swap. Alguém (um iniciante, talvez) poderia perguntar: "caramba, eu tinha 8 GB, por que só aparece 6?"

Já é difícil explicar por que um "hd de 500 só tem 460 GB"...

Abraços.
Contribua para um fórum melhor: pense antes de postar.
"It isn't a contest. Just enjoy the ride." -> Seth Vidal
Hardware.com.br no Youtube!
m45t3r
m45t3r Veterano Registrado
986 Mensagens 57 Curtidas
#37 Por m45t3r
22/11/2010 - 17:56
TerraSkilll disse:

Corrija-me se estiver enganado, mas o ramdisk não é sobre usar memória ram para criar um "disco rígido virtual"? Se sim, não me parece uma boa ideia para esse caso, já que você "perde memória ram para ganhar espaço para o swap". Cairia na mesma questão de uma partição de swap. Alguém (um iniciante, talvez) poderia perguntar: "caramba, eu tinha 8 GB, por que só aparece 6?"

Já é difícil explicar por que um "hd de 500 só tem 460 GB"...

Abraços.

Tirando outra coisa, o maior uso que temos no swap hoje é para hibernação. Um ramdisk não permite a hibernação funcionar (afinal, ele joga o conteúdo da memória para o swap, minúsculo, por assim dizer, e depois desliga e perde o conteúdo do swap:nao_sei_de_nadasmile.png, então realmente não vejo muito sentido em usá-lo.

Ele fazia mais sentido quando os sistemas em 64 bits não eram amplamente utilizados e alguém que tivesse uma quantidade de memória grande quisesse aproveitá-la sem gambiarras como o PAE. Hoje não faz mais.
gfenrrir
gfenrrir Tô em todas Registrado
1.3K Mensagens 85 Curtidas
#38 Por gfenrrir
22/11/2010 - 18:53
Beleza eu vejo muito as opiniões divergente por aqui e isso é muito bom cap_feceiro.png:

Mas, vem a duvida se alguns coloca o swap com 512MB para uma RAM de 2GB
como fica arquivos que exige muito processamento?
jogos, (nativo nem tanto). Os rodado via Wine (pela especificações do jogo)
Edição de vídeo e Virtualização de Maquinas...

Abraços =)
No Brasil à justiça não é cega.
rafaelsoaresbr
rafaelsoares... Membro Senior Registrado
325 Mensagens 8 Curtidas
#39 Por rafaelsoares...
22/11/2010 - 20:49
TerraSkilll disse:
MaxRaven

Voltando ao swap file.
ice2642

Corrija-me se estiver enganado, mas o ramdisk não é sobre usar memória ram para criar um "disco rígido virtual"? Se sim, não me parece uma boa ideia para esse caso, já que você "perde memória ram para ganhar espaço para o swap". Cairia na mesma questão de uma partição de swap. Alguém (um iniciante, talvez) poderia perguntar: "caramba, eu tinha 8 GB, por que só aparece 6?"

Já é difícil explicar por que um "hd de 500 só tem 460 GB"...

Abraços.


Exatamente.

gfenrrir disse:
Beleza eu vejo muito as opiniões divergente por aqui e isso é muito bom cap_feceiro.png:

Mas, vem a duvida se alguns coloca o swap com 512MB para uma RAM de 2GB
como fica arquivos que exige muito processamento?
jogos, (nativo nem tanto). Os rodado via Wine (pela especificações do jogo)
Edição de vídeo e Virtualização de Maquinas...

Abraços =)


Acho possível computadores com 2Gb de RAM rodar uma máquina virtual e ao mesmo tempo rodar um jogo. Depende de quanto de RAM você reservou pra máquina virtual e de quão pesado é o jogo, claro.
Mas pra fazer muitas coisas ao mesmo tempo é sempre bom ter muita memória RAM, se não vai ter que usar cada vez mais SWAP aí vai ficar lento.
Intel DH55TC LGA 1156 - Intel Core i5 760 2.8Ghz 8Mb - Cooler Master Hyper TX3 - 2X2Gb Kingston DDR3 1333Mhz - Gigabyte GTX750 1Gb DDR5 128bits - Corsair CX430 - SSD Kingston V300 Series 60Gb Sata/HD Western Digital Caviar Blue 320Gb Sata/HD Seagate Barracuda 500Gb Sata
mambembe
mambembe Tô em todas Registrado
1.3K Mensagens 108 Curtidas
#40 Por mambembe
22/11/2010 - 22:32
Acho que reclamar do espaço em disco "roubado" pelo swap não procede.

Equacionando as coisas de uma maneira voluntariamente "tosca", eu diria que a quantidade de RAM usada como "padrão" nos desktops cresce numa proporção aritmética, enquanto a quantidade de espaço em disco cresce numa proporção geométrica. Claro que é apenas uma maneira de dizer, mas... vocês entenderam. Dito de outro modo, hoje em dia pode-se ter quantidades generosas de memória swap a um custo muito pequeno. É claro que "swap bom é o swap que você não faz", mas isso ninguém discute.

A discussão é muito interessante e eu agradeço ao Marcos FRM por ter "levantado essa bola". Mas eu confesso que gostei muito desta passagem:

angeloshimabuko disse:
Um arquivo tem pelo menos duas desvantagens relevantes: (i) sobrecarga do sistema de arquivos -- para que o arquivo seja acessado, deve-se resolver o caminho, acessar os metadados e localizar os blocos de dados; (ii) fragmentação.


Convenhamos: é um argumento matador.

logout for good tchau.gif boa.gif feliz.png
Fontes - Estabilizador
rubensk8
rubensk8 Geek Registrado
2.4K Mensagens 111 Curtidas
#41 Por rubensk8
22/11/2010 - 22:40
rafaelsoaresbr disse:
Exatamente.



Acho possível computadores com 2Gb de RAM rodar uma máquina virtual e ao mesmo tempo rodar um jogo. Depende de quanto de RAM você reservou pra máquina virtual e de quão pesado é o jogo, claro.
Mas pra fazer muitas coisas ao mesmo tempo é sempre bom ter muita memória RAM, se não vai ter que usar cada vez mais SWAP aí vai ficar lento.


É exatamente isso!

Depende do uso e da quantidade de RAM. Já precisei de swap em várias distribuições. Uma vez no Slackware fiz uma compilação que ele ficou bem lento, provavelmente se não tivesse swap ele teria reiniciado ou travado. Claro que, se tiver 4GB ou mais de RAM provavelmente não irá cair em swap nunca. Para quem tem pouca RAM acho a partição swap uma grande invenção.
rafaelsoaresbr
rafaelsoares... Membro Senior Registrado
325 Mensagens 8 Curtidas
#43 Por rafaelsoares...
22/11/2010 - 23:48
Desfragmentação não conta, pois o sistema de arquivos ext4 é bem prevenido. Nem no windows o pagefile.sys fica fragmentago por que no linux ficaria? É só verificar no desfragmentador do Windows, aquele parte verde é o arquivo pagefile.sys, ele é criado durante a instalação e fica quieto lá, não se fragmenta.

O único motivo que eu tinha pra manter 4Gb de SWAP era que ele era preciso pra usar a função hibernar, agora nem precisa mais, as novas versões do ubuntu hiberna sem necessida de SWAP.
Intel DH55TC LGA 1156 - Intel Core i5 760 2.8Ghz 8Mb - Cooler Master Hyper TX3 - 2X2Gb Kingston DDR3 1333Mhz - Gigabyte GTX750 1Gb DDR5 128bits - Corsair CX430 - SSD Kingston V300 Series 60Gb Sata/HD Western Digital Caviar Blue 320Gb Sata/HD Seagate Barracuda 500Gb Sata
Marcos FRM
Marcos FRM Highlander Registrado
10.3K Mensagens 712 Curtidas
#44 Por Marcos FRM
23/11/2010 - 08:43
mambembe disse:
Convenhamos: é um argumento matador.

Com todo respeito ao angeloshimabuko, que dá aula para todos nós aqui no fórum, mas não é um argumento definitivo. Porque numa máquina com quantidade razoável de memória, digamos por exemplo 2GB -- que é quase um padrão nos PCs atuais -- essas desvantagens praticamente não seriam sentidas. Afinal, o arquivo de swap seria pouquíssimo usado, da mesma forma que uma partição é pouquíssima usada.

Aqui no meu Ubuntu sem swap nenhum, com 4GB de RAM, ontem eu coloquei o dvd::rip, um fontend para o Transcode (que por sua vez usa a libxvidcore/libmp3lame/libavcodec), a ripar dois DVDs. Cada DVD demorou 2h para ser convertido e o consumo de memória não chegou a 800MB, com o Firefox aberto com umas 10 abas (rodando vídeos do YouTube em Flash), Banshee, GEdit, Nautilus navegando num compartilhamento SMB, uns PDFs abertos no Evince. Um uso bem "real" e swap não fez falta nenhuma. Olhando a saída do comando free -m boa parte da memória estava alocada com buffers (uns 2GB mais ou menos) e o resto estava livre. Se o meu PC tivesse 2GB, igual, swap não teria sido usada. Qual diferença teria na minha instalação um arquivo de swap de 1GB, por exemplo, da partição de 5,1 GB (que eu não criei) que o Ubuntu cria usando o particionamento automático no meu HD de 160GB? Nenhuma. Absolutamente nenhuma. Uma partição a mais completamente desnecessária.

Eu estou rodando sem swap por preguiça e para me auto-convencer que não preciso dela. Mas não quero que as distribuições passem a abolir o uso de swap. Gostaria que abolissem o uso de partições de swap ou oferecessem opção para usar arquivos para este fim. E que seja feito um comparativo prático, levando em conta a carga de trabalho de um desktop típico, para explicar se as desvantagens do arquivo de swap tem significância ou não. A lógica que adoto por enquanto é: swap é pouquíssima usada na grande maioria das vezes; com memória suficiente, swap não faz falta (experiência pessoal); logo: arquivo de swap seria igualmente pouco usado e as suas desvantagens seriam despercebidas.

Os consumos absurdos de memória que são citados onde as vantagens da partição swap seriam tão significantes assim provavelmente estejam bem distantes do uso típico de um desktop.
...
Responder Tópico
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal