Swap é necessária, dependendo da quantidade de memória

Iniciado por Joseph, 19 de Maio de 2006, 19:21

tópico anterior - próximo tópico

Joseph

Bom, não é um desafio, mas quem diz q swap não é necessári a pra quem possui acima de 512mb de memória ram, tá rendondamente enganado, minha maquina usa 758mb, pc 3200, 400mhz, e testei de todas as maneiras, usando apenas o amsn aberto, resultado, tornava a máquina lenta, com processamento além do normal, 92%, quase 100%, sem swap ativada, a medida q aumenta a swap, melhorava a performance, nao sei se é algum bug, ou falta de curiosidade de quem nunca tentou, minha conclusão: É necessário ter swap sim, ou na quantidade da sua memória ram, ou mais um pouco, em caso de dúvida, façam a experiêmcia.

AlexBR

Bom... Pode até ser que haja lógica no que você falou, mas EU não vejo qual.

O swap é usado quando o PC está sem memória. Daí... algumas coisas vão para o HD para liberar a RAM. Este processo é muito lerdo. Por isso, quando o PC usa swap ele fica mais lento. Por outro lado, se não há swap, não pode haver troca de dados entre memória e o HD para liberar memória. Então, no pior caso, o sistema daria "out of memory", mas o sistema não há razão de ficar mais lerdo.

Daí... Você vai me pedir para eu fazer o teste. Eu vou recusar o convite. :-) Meu sistema tem 1G de RAM e uma partição de swap de 1G. Ela não é utilizada, mas esse 1G não me faz falta. Também, o desempenho do meu sistema está ótimo! Não tenho do que reclamar.

Joseph

Citação de: "AlexBR"Bom... Pode até ser que haja lógica no que você falou, mas EU não vejo qual.

O swap é usado quando o PC está sem memória. Daí... algumas coisas vão para o HD para liberar a RAM. Este processo é muito lerdo. Por isso, quando o PC usa swap ele fica mais lento. Por outro lado, se não há swap, não pode haver troca de dados entre memória e o HD para liberar memória. Então, no pior caso, o sistema daria "out of memory", mas o sistema não há razão de ficar mais lerdo.

Daí... Você vai me pedir para eu fazer o teste. Eu vou recusar o convite. :-) Meu sistema tem 1G de RAM e uma partição de swap de 1G. Ela não é utilizada, mas esse 1G não me faz falta. Também, o desempenho do meu sistema está ótimo! Não tenho do que reclamar.

faz o seguinte, vai no fstab e comenta a linha relativa a swap "#", joga um game 3d, fecha o game, e vai usando o micro normal, nao diga q seja um bug, mas uma falta de gerenciamento de memoria, talvez pq o dapper nao esta na fase final...

Joseph


galactus

Olha, to usando aqui no meu PC no momento o Breezy, o Dapper e o SUSE 10.1. Todos fazem uso de Swap! O engraçado é que os dois mais novos usam mais a Swap que o Breezy. Mesmo eu tendo 1GB de RAM e ela estar longe de encher, o Dapper e o SUSE 10.1 usam Swap. Bem pouco, mas usam. Não sei o motivo disso.
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Joseph

Citação de: "galactus"Olha, to usando aqui no meu PC no momento o Breezy o Dapper e o SUSE 10.1. Todos fazem uso de Swap! O engraçado é que os dois mais novos usam mais a Swap que o Breezy. Mesmo eu tendo 1GB de RAM e ela estar longe de encher, o Dapper e o SUSE 10.1 usam Swap. Bem pouco, mas usam. Não sei o motivo disso.

concordo contigo, eu também percebi, com o breezy nao acontecia isso.

AlexBR

Citação de: "Joseph"faz o seguinte, vai no fstab e comenta a linha relativa a swap "#", joga um game 3d, fecha o game, e vai usando o micro normal, nao diga q seja um bug, mas uma falta de gerenciamento de memoria, talvez pq o dapper nao esta na fase final...

Olha... Não sou nenhum especialista no kernel do linux. Estou bem longe disto por sinal, mas... não sei se você pode, simplesmente, eliminar a partição de swap. Quer dizer... O seu sistema está configurado para utilizar swap e você, do nada, "mata" a partição de swap? Realmente, o sistema pode ficar maluco com isto.

Sei que quando você entra em um modo multi-usuário (um desses /etc/rc da vida) um script swapon é executado. Este habilita e configura o sistema de paginação. Bom... sem uma partição swap disponível, teu sistema pode ficar maluco mesmo. Não sei ao certo!

Mas... Bom... Uns meses atrás, estava lendo um arquivo sobre como calibrar o linux (tuning). Lembro que havia um comando (ou algo do tipo) que desabilitava o uso de memória virtual pelo kernel. Para fazer os seus testes, acho que você deveria fazer algo deste tipo ao invés de, simplesmente, matar a partição swap.

Outra coisa... Não tenho nenhum jogo instalado. :-)

Joseph

Citação de: "AlexBR"Olha... Não sou nenhum especialista no kernel do linux. Estou bem longe disto por sinal, mas... não sei se você pode, simplesmente, eliminar a partição de swap. Quer dizer... O seu sistema está configurado para utilizar swap e você, do nada, "mata" a partição de swap? Realmente, o sistema pode ficar maluco com isto.

Sei que quando você entra em um modo multi-usuário (um desses /etc/rc da vida) um script swapon é executado. Este habilita e configura o sistema de paginação. Bom... sem uma partição swap disponível, teu sistema pode ficar maluco mesmo. Não sei ao certo!

Mas... Bom... Uns meses atrás, estava lendo um arquivo sobre como calibrar o linux (tuning). Lembro que havia um comando (ou algo do tipo) que desabilitava o uso de memória virtual pelo kernel. Para fazer os seus testes, acho que você deveria fazer algo deste tipo ao invés de, simplesmente, matar a partição swap.

Outra coisa... Não tenho nenhum jogo instalado. :-)

concordo em parte com vc, mas é uma coisa q vi na pratica, vou pesquisar melhor pra saber pq um sistema com 768 mb de ram precisa de swap, pq vez por outra eu vejo no gkrellm ou no monitor do sistema, com aplicativos abertos, firefox, evolution, gain, amsn e xmms, usando 128 mb de ram e 10, 15 mb de swap, meio estranho né, mas como eu tou atualizando o sistema, desde a primeira versao, pode ter algo a ver, quando ele tiver na fase final, vou instalar do zero, meus arquivos ficam sempre armazenados em cd, nao me incomodo de fazer uma nova instalaçao e nova configuraçao.

Serj Tankian

não sei quanto a programas escritos para  linux, mas diversos programas para windows EXIGEM que se use um arquivo de troca (paginação), independente da sua RAm ser 128 ooou 3Gb. um bom exemplo disso é o need for speed undergrund...façam o teste e vejam.


PAGINAÇÃO ou SWAP é importante, sim. no windows é bom criar uma partição em fat só para a paginação, com o dobro da paginação que vc for usar.
"Viva!! Viva!! Viva a Sociedade Alternativa! À lei do forte, esta é a nossa lei e alegria do mundo!! Viva!! Viva!!"

AlexBR

Citação de: "Joseph"concordo em parte com vc, mas é uma coisa q vi na pratica, vou pesquisar melhor pra saber pq um sistema com 768 mb de ram precisa de swap, pq vez por outra eu vejo no gkrellm ou no monitor do sistema, com aplicativos abertos, firefox, evolution, gain, amsn e xmms, usando 128 mb de ram e 10, 15 mb de swap, meio estranho né, mas como eu tou atualizando o sistema, desde a primeira versao, pode ter algo a ver, quando ele tiver na fase final, vou instalar do zero, meus arquivos ficam sempre armazenados em cd, nao me incomodo de fazer uma nova instalaçao e nova configuraçao.

Olha... Meu sistema tem 1G de RAM. Então, vamos supor que apenas uns 500MB sejam utilizados por programas e dados. Daí... Existem 524MB de RAM subutilizados. Para evitar isto, o kernel usa parte da memória livre como cache de HD. Assim,  quando alguma informação é buscada do HD ela é posta na memória RAM e permanece lá mesmo quando não está mais sendo utilizada. A lógica é que existe uma grade probabilidade que esta informação venha a ser utilizada novamente. Daí... se a informação já está disponível na memória RAM ela fica acessível mais repidamente. Isto é uma forma inteligente de se utilizar o espaço livre de memória.

Bom... Seguindo a lógica a cima, quanto mais memória livre um sistema tem, mais inificiente é seu sistema de gerenciamento de memória. Isto acontece porque o sistema está deixando de usar a memória livre como cache para o HD.

Já vi muita gente reclamando que o Dapper "come" mais memória que o Breezy. Provavelmente, isto acontece porque o Dapper usa um sistema melhor de cache de disco que o Breezy.

Bom... Voltando a um sistema com uma grande quantidade de memória... Após um determinado tempo, o kernel deve perceber que alguns programas que foram carregados não estão sendo executados. Então, ele joga esses programas no swap para utilizar uma maior cache de disco na memória RAM. Contudo, essa quantidade de memória deve ser muito pequena e deve ter pouco impacto no desempenho geral do siatema.

Uma última informação... Evidentemente, quando o sistema precisa de mais memória, o kernel decide se reduz a quantidade de cache do sistema ou manda programas ociosos para o swap.  O kernel 2.6.x permite que o próprio usuário dica ao sistema o que deve fazer através do arquivo /proc/sys/vm/swappiness. Dentro deste arquivo existe um número entre 0 e 100. (Salvo engano, o padrão é 60.) Quanto maior este valor, mais o kernel manda aplicativos para o swap e fica com uma cache de disco enorme. Quanto menor este valor, menor o kernel tende a usar memória virtual e tem uma cache de HD pequena, pois ele prefere liberar memória RAM reduzindo a cache do sistema.

Agora que escrevi isto, me dei conta que, em tese, para ficar sem suap basta fazer o conteúdo de /proc/sys/vm/swappiness igual a zero. :-) É um bom teste pra você fazer.

Joseph

Citação de: "AlexBR"Já vi muita gente reclamando que o Dapper "come" mais memória que o Breezy. Provavelmente, isto acontece porque o Dapper usa um sistema melhor de cache de disco que o Breezy.

Agora que escrevi isto, me dei conta que, em tese, para ficar sem suap basta fazer o conteúdo de /proc/sys/vm/swappiness igual a zero. :-) É um bom teste pra você fazer.

bom, pelo q vc falou deu pra entender bem.

o dapper nao ta comendo memoria nao, ta muito melhor q o breezy, quanto ao arquivo swappiness, ele tá vazio, usei o gedit pra ediçao, a nao ser q eu tenha feito errado.

galactus

O AlexBR tá certo quanto a colocar swappiness igual a zero. Acontece isso mesmo o que ele descreveu. já li isso em revistas, e no Fórum Gringo do Ubuntu.

O Dapper, para quem veio fazendo as atualizações das Versões Flight e Beta 2 até agora, sofreu tantas mudanças que deixou o sistema de memória dele maluco.

Eu e o AgentOrange sofremos com o uso altíssimo de RAM e do Swap pelo Dapper. Principalmente com aplicações Java e quando fazíamos Download com o Opera. O consumo de memória simplesmente não parava de crescer até ele usar toda a memória RAM e o Swap disponíveis. O sistema ficava uma carroça.

Agora eu refiz uma instalação do Zero com uma versão Daily do dia 14 de Maio. Tudo voltou ao normal. Ele está consumindo cerca de 100- 112MB após o boot. E se mantém abaixo dos 280MB mesmo quando estou usando 5 aplicações ao mesmo tempo, na maioria dos casos. Os navegadores com várias abas abertas são os maiores consumidores de memória que pude notar até agora. O Firefox e o Opera com pelo menos 6 abas abertas chegam a consumir mais de 80MB cada. Isso vai depender muito do conteúdo que você estiver vendo na hora também. Mesmo assim o Dapper usa minha memória Swap, cerca de 5% em média. Dessa vez eu reservei 256MB de Swap pra ele.

Já o Breezy raramente usa a memória Swap. Por isso mesmo o consumo de RAM do Breezy é alto quando deixo ele ligado vários dias seguidos. Pois sempre vejo o Swap vazio! Também notei que o Dapper vem retirando mais memória RAM ocupada quando fechamos um aplicativo, coisa que o Breezy não faz com muita eficiência. Com certeza tivemos mudanças profundas no gerenciamente do memórias do Breezy para o Dapper.  Acredito que até a versão final do Kernel dia 25, teremos mais alguma mudança.

Acredito que a memória de paginação (Swap) do Dapper é bem mais importante que no Breezy. Já me decidi em aumentar a quantidade do Swap no Dapper em relação ao que tenho hoje no Breezy.  É que aqui em casa usamos muito o PC, muita das vezes com duas sessões abertas ao mesmo tempo e um monte de aplicativos abertos ao mesmo tempo também! Tenho certeza que ele vai usar muito mais a memória Swap.
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Joseph

entao resta aguardar a versao final mesmo, eu notei melhor esse consumo de swap quando estou usando aplicativos java, principalmente o amsn com a webcam rodando.

Magneto

Citação de: "Joseph"bom, pelo q vc falou deu pra entender bem.

o dapper nao ta comendo memoria nao, ta muito melhor q o breezy, quanto ao arquivo swappiness, ele tá vazio, usei o gedit pra ediçao, a nao ser q eu tenha feito errado.

Aqui o arquivo encontra-se vazio também.

AlexBR

Citação de: "Agent Orange"Aqui o arquivo encontra-se vazio também.

Façam sysctl -a. Deve parecer vários parâmetros. Um deles é o swappiness.

Se quiserem alterar o valor, façam

sysctl -w vm.swappiness=X
echo X > /proc/sys/vm/swappiness


Com X sendo um número entre 0 e 100.