[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: swap



Eu vejo que de uns tempos pra cá, especialmente quando a memória se tornou mais barata, houve uma "demonização" do swap: "usar swap é ruim, e eu tenho muita memória, então vou tirar o swap". Mas esse pensamento não leva em consideração uma situação onde você forçosamente  vai precisar do swap.

Como o Thiago disse, o S.O. não vai travar. Eu havia levantado a questão pois foi falado em uma situação de crash e recuperação de dados do swap, mas nem considero isso. Ele é sofisticado o suficiente para trabalhar isso e matar a aplicação que está com problema.

O problema é que o OOM vai resolver o problema do S.O., e o seu problema permanece: sua aplicação parou de executar porque estourou a memória, e vc perdeu sua carga de trabalho. Com o swap vc teria uma sobrevida e poderia tentar contornar o problema.

Usar swap = ruim, péssimo, evitar a todo custo.
Ter swap = obrigatório a não ser que o fabricante recomende explicitamente contra.

Penso que o swap é igual seguro. Bom mesmo é nunca usar, mas se tiver que usar, ele está lá.


2013/4/30 Thiago Marinello <thiago@marinello.eng.br>
Olá a todos. Realmente, pelo que eu acompanhei, a discussão se desviou.

A area de swap tem a função de (de certa forma) extender a memória
principal (ram) em uma tecnologia com tempo de acesso ou troughput
inferior (em geral disco) formando o que chamamos (e o que o SO também
chama) de memória virtual.

O tamanho dessa área de swap, que tem esse nome pois se refere a troca
de páginas de dados ou código, pode variar de acordo com a necessidade
de uso.

O que é comum hoje em dia, em especial em laptops, é ter uma área de
swap do tamanho da RAM total. Isso por que além do uso já discutido de
troca de páginas durante a operação do sistema, o Linux pode utilizar
esse espaço para salvar toda a RAM no processo de hibernação, o que
permite religarmos o computador e continuarmos de onde paramos.

Hoje é comum (e eu uso isso) utilizar um SSD para a area de swap. Por
ser mais rápido que um disco tradicional garante um melhor desempenho
ao sistema.

Notem que as aplicações não tem visibilidade da hierarquia de
memórias. Elas, através do SO, veem apenas a memória virtual. Quem
trata e abstrai a alocação e desaloção, bem como a troca de páginas de
memória é o kernel do SO.

Se seu sistema esta fazendo uso intenso e frequente de area de swap,
isso é um indício de que sua memória ram talvez esteja subdimencionada
para suas aplicações.

Saibam ainda que, tendo ou não areá de swap ativa, o kernel do Linux
possui um mecanismo de controle para preservação do sistema em caso de
consumo intenso de memória.  Ele se chama Out-of-Memory Killer, ou
simplesmente OOM Killer. Esse mecanismo mata processos que estejam
sendo ofensores ao kernel do ponto de vista de consumo de memória.  As
ações do OOM são logadas pelo kernel e é até possível definir um tempo
de observação e reboot do kernel automaticamente caso o problema
continue (atraves de sysctr), mas em geral o sistema se reestabelece
sem reboot.


Atenciosamente,

--
 Thiago Marinello Paulino Cesar
 Padtec - Desenvolvimento e Engenharia de Produto FW
 Tel.: +55 19 2104-0404 / Cel.: +55 19 9248-0860
 marinello@padtec.com
 www.padtec.com



2013/4/30 China <china.listas@gmail.com>:
> Leonardo, quem gerencia a memória é o Sistema Operacional, e ele fará
> a troca de uma app que não está sendo usada naquele momento para que
> exista memória livre para executar as operações de outra aplicação.
> Creio que o assunto se desviou, pois estamos falando de servidores,
> alta disponibilidade e integridade de dados, e o assunto da thread é
> Swap em desktop. Também acho que empregar o termo "segurança da
> informação" para a situação que você coloca não é o mais adequado.
>
> Mas independente disso, se uma aplicação mal construida e estiver mal
> comportada a ponto de impedir o gerenciamento de memória pelo SO, não
> será o uso de Swap que salvará alguma coisa. Hoje, com sistemas
> multicamada, dificilmente encontraremos aplicações para servidores que
> sejam construidas para usar Swap. Se tiver alguma, não vende.
>
> Em 30 de abril de 2013 09:14, Leonardo Carneiro
> <chesterman86@gmail.com> escreveu:
>> Oi China, tb não sou especialista em S.I. Sou apenas um entusiasta =)
>>
>> Nem pensei em recuperar informações do swap. Imagino que em um crash, no
>> boot o S.O. iria desconsiderar quaisquer informações que estivesse em swap e
>> iria sobrescrever sem se atentar a nada.
>>
>> Como disseram, se um servidor está usando swap, é fato que algo não está
>> funcionando tão bem quanto deveria estar. Mas o fato de estar usando swap
>> mostra que o sistema ainda está funcionando, e dá uma chance ao admin de
>> tentar intervir de uma maneira controlada. Sem o swap, a aplicação (e não o
>> S.O.), iria travar e o admin só iria poder intervir quando o problema já
>> tivesse acontecido.
>>
>> Entendo que o admin deva sempre provisionar memória suficiente para as
>> aplicações de um servidor, monitorando o uso de memória e que o swap nunca
>> deva ser usado, mas penso que o swap deva ser uma última linha de defesa:
>> caso ocorra alguma coisa extraordinária que faça a aplicação usar mais
>> memória do que o esperado, o swap vai estar lá para garantir que a aplicação
>> consiga ser computada.
>>
>> O que penso de swap como fator de S.I. é: o swap é uma última linha de
>> defesa para garantir que determinado programa consiga ser computado, em caso
>> de consumo extraordinário de memória. Caso o programa não consiga ser
>> computado, ou seja parcialmente computado, estão sendo feridas as
>> propriedades de integridade e disponibilidade.
>>
>> Reforço, quando digo sobre integridade e disponibilidade, não estou me
>> referindo sobre integridade de blocos, arquivos, filesystems, RAID ou
>> quaisquer questões técnicas nesse sentido, mas sim que a saída de um
>> determinado programa esteja íntegra e disponível para o usuário.
>> Exemplo: o relatório não pode não ser gerado, ou ser gerado pela metade.
>>
>>
>> 2013/4/30 China <china.listas@gmail.com>
>>>
>>> Leonardo, não sou especialista em SI mas estudei o tema quando fiz uma
>>> pós. Você não está confundindo o papel da Swap com o papel de temp_db
>>> em SGBDs? Os dados que vão pra Swap não ficam gravados a ponto de
>>> serem recuperados em caso de crash, portanto Swap não pode ser
>>> considerada como fator de segurança da informação sob nenhum aspecto.
>>> Se você tem alguma literatura sobre isso, poderia nos indicar...
>>>
>>> Em 29 de abril de 2013 17:06, Leonardo Carneiro
>>> <chesterman86@gmail.com> escreveu:
>>> >
>>> > 2013/4/29 P. J. <pjotamail@gmail.com>
>>> >
>>> >> Em 29/04/13, Leonardo Carneiro<chesterman86@gmail.com> escreveu:
>>> >>
>>> >> > O fato é que ter o swap é uma questão de segurança de informação.
>>> >>
>>> >> Segurança da informação, não vi nda disso no livro de Stalling?!
>>> >
>>> >
>>> > Nunca nem vai ver. Segurança de informação (diferente de segurança de
>>> > redes)
>>> > é um tema muito mais conceitual e arquitetônico do que técnico. O tema
>>> > SI
>>> > transcende praticamente todas as áreas da computação e geralmente tem
>>> > livros
>>> > dedicados. os artigos da wikipedia mesmo, sobre SI são mto elucidativos
>>> > e
>>> > servem de trampolim pra algo mais profundo.
>>>
>>>
>>>
>>> --
>>> @chinabhz
>>
>>
>
>
>
> --
> @chinabhz
>
>
> --
> To UNSUBSCRIBE, email to debian-user-portuguese-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> Archive: http://lists.debian.org/CAKE1zwp-jweXSk-NOHCUvqLH1dnwVcj07Uv4KqyKOxAoBnMpw@mail.gmail.com
>


Reply to: