[firebase-br] virtual memory exhausted.

Eduardo Jedliczka edujed em gmail.com
Qua Jul 20 09:02:07 -03 2011


Raul, bom dia.

Fica aqui registrado as "casualidades" da vida.

Eu estou fazendo testes com versões diferentes do Firebird para a
minha palestra no FDD, e ontem foi a vez do Firebird 2.5 SuperClassic
no Windows 64 bits.

Como meu desktop possui 16 GB de ram, configurei o SC para utilizar 1
GB de cache (131.072 páginas de 8KB) por conexão + 128 MB de sort em
memória.

Abri 4 conexões com o banco, e iniciei os testes de performance. Ok

Passei para 8 conexões com o banco, ok.

Passei para 12 conexões com o banco, ok.

Como estava utilizando apenas 11 GB de memória (segundo o gerenciador
de tarefas do windows), e míseros 5 GB para o firebird, experimentei
abrir mais uma conexão... resultado: "erro" não foi possível alocar
mais memória do S.O..

Reparei que houve mudanças no gerenciamento de memória (no Windows de
64 bits). Como o firebird aloca 1GB por conexão, ele sabia da
"existência de uma reserva de 12GB para o firebird, mesmo que no
momento estivesse com apenas 6gb em uso) e da reserva de 7 GB para
outros processos. (eu havia configurado um swap entre 1GB e 4GB).

Ou seja, pelas contas do windows, estava reservado 19 GB de memória
"virtual" ( para um universo de 20 GB, onde: 16 em ram + 4 em swap).
Experimentei aumentar o swap para 12GB - abaixo do recomendado pelo
próprio windows), e consegui abrir mais 4 instâncias do firebird....
Até que 20 minutos depois, eu consegui "entrar valendo" no swap, pois
só o processo do SC estava com quase 11,5 GB de memória, e crescendo.

Com isto, aprendi algumas coisas. Seu problema não está relacionado à
quantidade de memória física do servidor, mas sim ao que o WIndows
julga o que  "poderá" ser utilizado, portanto, há duas alternativas:

1ª)  diminuir a quantidade de páginas em cache por conexão;
2ª) Aumentar o tamanho do swap informado ao windows.

Mas cuidado, processos grandes (ou demorados) tendem a realmente
consumir toda a cache.

Abraço,

==========================
Eduardo Jedliczka
Apucarana - Pr
==========================

Em 19 de julho de 2011 16:11, Raul Geraldin <rgeraldin em gmail.com> escreveu:
> Sim, Fb 2.5 SO. Debian 6
>
> Em 19 de julho de 2011 16:09, Eduardo Pelizzari de Andrade <
> eduardoandrade em persoft.com.br> escreveu:
>
>> Mas fica a pergunta, o Firebird e o SO são de 64 bits?
>>
>> Eduardo Pelizzari de Andrade
>> Persoft Softwares Aplicativos
>>
>>
>>
>> Em 19/07/2011 14:02, Eduardo Jedliczka escreveu:
>>
>>> Nativamente o Firebird não irá utilizar o swap, mas o próprio S.O.
>>> pode mover páginas não (ou pouco) utilizadas para o swap.
>>>
>>> Além disto, veja o total de memória utilizado somente pelo Firebird,
>>>
>>> e veja os parâmetros do FireBird.Conf, relacionados ao sort, e área de
>>> troca.
>>>
>>> ==========================
>>> Eduardo Jedliczka
>>> Apucarana - Pr
>>> ==========================
>>>
>>>
>>>
>>>
>>> Em 19 de julho de 2011 12:21, Raul Geraldin<rgeraldin em gmail.com>
>>>  escreveu:
>>>
>>>> Bom dia Eduardo, então tenho um server Dell 410 2x xeon x64 e 4gb de ram,
>>>> porem verifiquei e está sobrando 230mb de memoria e a swap está livre,
>>>> sabe
>>>> se o firebird usa a swap se precisar ?
>>>>
>>>>
>>>> Em 19 de julho de 2011 11:52, Eduardo Jedliczka<edujed em gmail.com>
>>>>  escreveu:
>>>>
>>>>  Isto pode ocorrer nos seguintes casos:
>>>>>
>>>>> - Processo de 32 bits atingiu o limite de 2GB de memória (mais
>>>>> provável);
>>>>> - Acabou tanto a memória RAM disponível, quanto o espaço de swap
>>>>> definido em disco;
>>>>> - a área Temporária (em disco) está cheia.
>>>>>
>>>>> Para o primeiro problema, só mudando para a versão de 64Bits (S.O. +
>>>>> Firebird)
>>>>> Para os demais, pode-se comprar mais memória RAM, aumentar o tamanho
>>>>> do swap, ou da área temporária.
>>>>>
>>>>> ==========================
>>>>> Eduardo Jedliczka
>>>>> Apucarana - Pr
>>>>> ==========================
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Em 19 de julho de 2011 11:16, Raul Geraldin<rgeraldin em gmail.com>
>>>>> escreveu:
>>>>>
>>>>>> Quando comito a criação de um FK acontece este erro "virtual memory
>>>>>> exhausted" alguem sabe como resolver ????
>>>>>> ______________________________**________________
>>>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>>>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>>>>
>>>>> http://www.firebase.com.br/fb/**artigo.php?id=1107<http://www.firebase.com.br/fb/artigo.php?id=1107>
>>>>>
>>>>>> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>>>>>>
>>>>>>  ______________________________**________________
>>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>>> http://www.firebase.com.br/fb/**artigo.php?id=1107<http://www.firebase.com.br/fb/artigo.php?id=1107>
>>>>> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>>>>>
>>>>>  ______________________________**________________
>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>> http://www.firebase.com.br/fb/**artigo.php?id=1107<http://www.firebase.com.br/fb/artigo.php?id=1107>
>>>> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>>>>
>>>>  ______________________________**________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>> http://www.firebase.com.br/fb/**artigo.php?id=1107<http://www.firebase.com.br/fb/artigo.php?id=1107>
>>> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>>>
>>>
>>>
>>> Nenhum vírus encontrado nessa mensagem recebida.
>>> Verificado por AVG - www.avgbrasil.com.br
>>> Versão: 9.0.901 / Banco de dados de vírus: 271.1.1/3774 - Data de
>>> Lançamento: 07/19/11 03:34:00
>>>
>>>  ______________________________**________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/**artigo.php?id=1107<http://www.firebase.com.br/fb/artigo.php?id=1107>
>> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>




Mais detalhes sobre a lista de discussão lista