[firebase-br] Firebird no FreeBSD consumindo muita memoria
Jéter Rabelo - GMail
jeter.rabelo em gmail.com
Ter Dez 24 09:11:12 -03 2013
Bom dia.
É o seguinte, depois de ficar ontem, dia 23/12, das 07:00 as 23:00
tentando achar o "problema", descobri a "causa".
Vamos lá.
O FreeBSD tem uma maneira própria de gerenciamento de memória, diferente
de Linux/Windows.
A cada consulta, ele meio que "reserva" a memória utilizada nela,
colocando a mesma em Memória inativa.
Quando se olha a memória Inativa, ele é quase que uma memória livre,
porém na prática não é.
Então, depois de ler um caminhão de artigos, fóruns e etc, cheguei na
seguinte conclusão.
- A Velocidade do Firebird no FreeBSD é FENOMENAL.
- A resposta de consultas são absurdamente rápidas, chega a ser
inacreditável.
- Numa tabela de LOG que possui mais de 10.000.000 de registros, um
select de testes com um where não indexado, leu a tabela em menos de 5
segundos.
- Num segundo select então, aí é coisa de louco.
- Mas, tudo isso tem um preço: No select da tabela de 10.000.00 de
registros, a memória utilizada nele fica como inativa. Mesmo se fechar a
conexão, fechar o programa e tudo, nada de liberar a memoria.
- Se você fizer um sweep, tchau memória, ela fica como inativa
- Backup? Mesma coisa
Então, resumindo, para ter um servidor com FreeBSD rodando, dependendo
do tamanho das base de dados, deve-se ter uma "caminhão" de memória.
Pois, por mais que ele "utilize" a memória inativa, chega uma hora que a
memoria Free chega a < 200mb e aí começam os problemas: Lock Manager,
não aceita novas conexões e etc.
Solução? Reboot no server.
Não achei nenhuma rotina para dar uma "limpada" nessa memória.
O sistema operacional da Apple que tem como base o BSD, foi implementado
um comando chamado Purge, que não existe no FreeBSD. Esse comando
"limpa" a memória.
Quanto ao Firebird.conf, eu havia modificado alguma coisa, voltei tudo
ao default. Mas o problema não estava aqui.
Como no meu caso tenho duas bases, uma de 51gb e outra de 121gb, e não
vai dar tempo de comprar 32gb de ram. Por isso, vou aproveitar o feriado
e instalar o Debian.
Bom, fica aí a minha experiência.
É uma pena, pois gostaria de ficar com o FreeBSD, mas no momento tenho
que manter em suspenso a utilização do mesmo. Pretendo voltar no futuro,
pois a experiência foi maravilhosa.
Mas, só volto com um servidor de no mínimo >=32gb ram. (No caso desse
cliente em específico)
Abraços, boas festas e um Feliz Ano Novo.
---
Jéter Rabelo Ferreira
Obs: A resposta no fórum FreeBSD Brasil do gerenciamento de memória do
FreeBSD:
https://www.mail-archive.com/fugspbr-fugspbr.org@fugspbr.org/msg01434.html
Em 23/12/2013 22:43, Frederico Godoi escreveu:
> Você alterou algum parâmetro do Firebird.conf ?
>
>
> Em segunda-feira, 23 de dezembro de 2013, Jéter Rabelo - GMail escreveu:
>
>> Boa tarde.
>>
>> Coloquei em produção um servidor FreeBSD com firebird no meu cliente.
>>
>> Mas estou tendo um problema de memória. O Firebird está consumindo memoria.
>>
>> Quando se olha as transações, todas estão coerentes:
>> Database header page information:
>> Flags 0
>> Checksum 12345
>> Generation 128716
>> Page size 8192
>> ODS version 11.2
>> Oldest transaction 121599
>> Oldest active 121600
>> Oldest snapshot 121600
>> Next transaction 121601
>> Bumped transaction 1
>> Sequence number 0
>> Next attachment ID 7098
>> Implementation ID 25
>> Shadow count 0
>> Page buffers 75
>> Next header page 0
>> Database dialect 3
>> Creation date Dec 21, 2013 20:27:02
>> Attributes force write
>>
>> Variable header data:
>> Sweep interval: 0
>> *END*
>>
>> As confiturações de Buffers e etc estão como padrão do Super Classic Server
>>
>> Status da memoria do FreeBSD
>> last pid: 1551; load averages: 0.27, 0.22, 0.18 up 0+04:24:17
>> 12:27:06
>> 25 processes: 1 running, 24 sleeping
>> CPU: 3.0% user, 0.0% nice, 0.7% system, 0.1% interrupt, 96.3% idle
>> Mem: 429M Active, 6067M Inact, 993M Wired, 215M Cache, 826M Buf, 167M Free
>> Swap: 4096M Total, 760K Used, 4095M Free
>>
>>
>> Alguém para dar uma luz?
>>
>> Atenciosamente
>> --
>> Jeter-Jerasoft
>> ______________________
>> Jéter Rabelo Ferreira
>> <http://www.jerasoft.com.br>
>>
>> http://www.jerasoft.com.br
>> Skype: jeter.rabelo
>>
>>
>> ______________________________________________
>> 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