Em 24-07-2012 10:32, Emerson Martins escreveu:
> Segue informações;;;
>
>     S.O. e versão (principalmente do kernel)
>
>     Debian 6 kernel 2.6.32-5-686
>
>     Versão do PostgreSQL -  8.4.12
>
>     Como foi instalado - apt-get
>
>     Que processos estão usando a memória do servidor -  postgres e apache

Uhm...

>
>     Configurações abaixo do PostgreSQL:
>     - shared_buffers - 26M
>
>     - max_connections  - 70
>
>     - superuser_reserver_connections - comentado
>
>     - work_mem - 1MB
>     - maintenance_work_mem - 16M
>     - autovacuum_max_workers - 3

Quase tudo no default, exceto max_connections que está até menos do que 
o default.

> ultimo Log da maquina:
>
>
> 2012-07-24 10:27:01 BRT DETALHE:  O postmaster ordenou a esse processo
> servidor                        para cancelar a transação atual e
> sair, porque outro processo servidor saiu an
> ormalmente e possivelmente corrompeu memória compartilhada.
> 2012-07-24 10:27:01 BRT DICA:  Dentro de instantes você poderá
> conectar novame                       nte ao banco de dados e repetir
> seu commando.
> 2012-07-24 10:27:01 BRT FATAL:  o sistema de banco de dados est? em modo
> de recu                       pera??o
> 2012-07-24 10:27:01 BRT FATAL:  o sistema de banco de dados est? em modo
> de recu                       pera??o
> 2012-07-24 10:27:01 BRT LOG:  todos os processos servidor foram
> terminados; rein                       icializando
> 2012-07-24 10:27:02 BRT FATAL:  n?o p?de criar segmento de mem?ria
> compartilhada                       : N?o foi poss?vel alocar mem?ria
> 2012-07-24 10:27:02 BRT DETALHE:  Falhou ao executar chamada de sistema
> shmget(k                       ey=5432001, size=27820032, 03600).
> 2012-07-24 10:27:02 BRT DICA:  Esse erro usualmente significa que a
> requisi??o d                       o PostgreSQL por segmento de mem?ria
> compartilhada excedeu a mem?ria ou espa?o d                       e swap
> dispon?vel. Para reduzir o tamanho requisitado (atualmente 27820032
> bytes                       ), reduza o par?metro shared_buffers do
> PostgreSQL (atualmente 3072) e/ou par?me                       tro
> max_connections (atualmente 73).
>          A documenta??o do PostgreSQL cont?m informa??es adicionais
> sobre configu                       ra??o de mem?ria compartilhada.

Provavelmente seu apache (ou outro processo) está consumindo toda a 
memória da máquina.

Vi no seu cpuinfo que tem quase 4GB de memória.
Quem está consumindo essa memória? Posso te garantir que não é o 
PostgreSQL (não com as configurações que você mandou).

Você terá de investigar.
free, top, htop, vmstat, sar, ps e outras ferramentas de S.O. vão te ajudar.

O problema *não* é o PostgreSQL. Ele não está conseguindo alocar míseros 
26 MiB, que pode ser comprovado no próprio erro que você está obtendo no 
log. Alguém está comendo a memória e não é ele.

[]s

Flavio Henrique A. Gurgel
Consultor e Instrutor 4Linux
Tel: +55-11-2125-4747
www.4linux.com.br
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a