Bom dia,

----- Mensagem original -----
| Bom dia pessoal,
| Estou utilizando o postgresql 8.4 no Fedora 13.
| Meu servidor tem 8GB RAM.
| Estou configurando o postgresql da seguinte forma:
| shared_buffers = 512MB
| max_connections = 50
| work_mem = 80MB


Defina pra gente qual o tipo de aplicação, mas em via de regra, teu shared 
buffers está baixo, e o work_mem um pouco alto.


| 
| Quando inicio o serviço e monitoro no comando top vejo que mais de
| mais de
| um processo postmaster utiliza 512MB de memória residente.


shared=compartilhado. Esses mesmos 512MB são usados por todos os processos, e 
servem principalmente pra manter na RAM dados de tabelas recentemente usadas.


| Gostaria de saber se colocando o shared_buffers com 512MB pode
| acontecer que cada uma das 50 conexões permitidas pelo max_conections consuma 
512MB
| de memória e com isso fazer com que o servidor use swap?

Não se preocupe, você pode aumentar o shared buffers entre 1GB e 2GB, a memória 
é compartilhada. Mas na minha experiência com RedHat/Fedora, o uso de swap 
acontece sempre nesses sistemas. Nos únicos servidores que fui obrigado a usar 
redhat, eu desativei a swap e aumentei a RAM pra ter um desempenho decente.



| O consumo de memória dos processos postmaster dependem do
| shared_buffers ou esse paramtro não limita o consumo do processo?


Não limita, você precisa contar também o work_mem. Cada SQL rodando ordenação 
vai usar 80MB de RAM, e, caso ele não consiga alocar esse tanto, o processo 
morre. Procure por OOM Killer, e tente reduzir o work_mem global e aumentá-lo 
via aplicação quando for necessário.


[]´s, André Volpato
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a