Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Luiz Carlos L. Nogueira Jr.
.
Alguma sugestão do que pode estar acontecendo, pois não temos nem 50
conexões simultâneas que estourem esse tamanho?
Aumentei para 3GB e continua da mesma forma.

Luiz Carlos
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Matheus de Oliveira
2013/7/1 Luiz Carlos L. Nogueira Jr. lcnogueir...@gmail.com

 Pessoal,
 Configurei o work_mem do meu postgres para 4MB.
 Só que aparecem mais linhas no meu log e com tamanhos menores que 4MB.


Em geral, a conta deve ser:

work_mem (novo) = wok_mem (antigo) + maior_arquivo_temporario + valor_extra

Ou seja, o valor do arquivo temporário que aparece pode ser o que o
PostgreSQL precisou ***além*** do work_mem. O valor_extra é difícil de
calcular, mas pode ser uma aproximação.



 2013-07-01 11:08:26 BRT [25765]: [217-1] db=pje_jud1g_descanso_p,user=
 user_pje_jud1g@192.168.252.19(35567) 0:13/1092 LOG:  temporary file: path
 base/pgsql_tmp/pgsql_tmp25765.107, size 504624
 2013-07-01 11:08:35 BRT [26091]: [135-1] db=pje_jud1g_descanso_p,user=
 user_pje_jud1g@192.168.252.19(35683) 0:40/778 LOG:  temporary file: path
 base/pgsql_tmp/pgsql_tmp26091.66, size 3476016
 2013-07-01 11:08:35 BRT [26091]: [137-1] db=pje_jud1g_descanso_p,user=
 user_pje_jud1g@192.168.252.19(35683) 0:40/778 LOG:  temporary file: path
 base/pgsql_tmp/pgsql_tmp26091.67, size 2801864


No seu caso eu colocaria work_mem para pelo menos 10MB (se tiver memória
para isso, claro), pois veja que a seção 16091 gerou cerca de 6MB de
arquivos temporários.


 Isso acontece pq estourou meu maintenance_work_mem?
 work_mem = 4MB
 maintenance_work_mem = 1500MB


Nesse caso ocorreu por ter estourado o work_mem, não o maintenance_work_mem.
A não ser que estava executando algum CREATE INDEX, ADD CONSTRAINT, etc.


Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Matheus de Oliveira
2013/7/2 Luiz Carlos L. Nogueira Jr. lcnogueir...@gmail.com

 .
 Alguma sugestão do que pode estar acontecendo, pois não temos nem 50
 conexões simultâneas que estourem esse tamanho?
 Aumentei para 3GB e continua da mesma forma.


O tamanho dos arquivos temporários não dependem da quantidade de conexões
(não de cada um).

Acho que você está atacando a coisa de forma errada, primeiro tente
determinar qual(is) a(s) consulta(s) que precisa(m) desses arquivos
temporários e verifique se não é possível otimizá-las. Nos logs, a consulta
aparece na mesma seção com prefixo STATEMENT:.

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Luiz Carlos L. Nogueira Jr.
Em 2 de julho de 2013 09:51, Luiz Carlos L. Nogueira Jr. 
lcnogueir...@gmail.com escreveu:

 Infelizmente não temos esse canal de comunicação com quem desenvolve.
 Apenas tentamos fazer o banco ficar vivo com a aplicação que nos mandam.


 Já tinha solicitado mudar voltar o work_mem ao que era antes, mas estou no
 aguardo.
 A mudança pra 4MB foi depois das 10:00h. (antes era 50MB)
 Out of memory é nosso maior problema hoje em dia e o pessoal fica atacando
 todos os lados para tentar resolver esse problema.
 Mandei o resultado do pgbadger de ontem (anexo) pra vocês terem uma noção
 do que estou falando.

   DayHourTemporary filesCheckpointsCountAv. sizeWrote buffers AddedRemoved
 RecycledWrite time (sec)Sync time (sec)Total time (sec)Jul 01 1,782006
 318.5350.845319.555  01001,706006299.776 4.28306.012  02001,706006291.2772.641
 294.667  0300850007154.751 0.536155.579  040022800644.712 0.34745.183  050
 0220063.343 0.0593.691  06007000612.97 0.19213.246  
 070013,2670061,342.5632.382
 1,345.067  080041,76200171,799.65 2.4071,802.207  090050,34300231,799.473
 3.331,803.222  103,5041,422,158.8674,9940037 1,570.574.7711,576.218  11
 6,5891,555,362.3448,7610023 1,799.4533.1991,803.115  124,4141,617,694.54
 44,0350021 1,799.8031.8921,801.845  134,2661,591,733.9724,48500111,799.209
 1.6781,801.092  145,5901,544,146.8046,6500019 1,799.5462.7381,802.66  15
 7,4401,596,696.5850,5600024 1,795.2952.4971,797.963  166,3151,487,407.72
 72,5920034 1,798.6753.81,802.758  174,1971,811,036.9928,6950016 1,799.162
 1.5221,801.012  182,9221,885,185.649,6740071,614.54 1.2131,616.126  19
 1,6721,897,135.944,150006830.22 0.82831.138  202,0831,724,297.358,608006
 1,380.218 0.6971,380.993  212,3141,628,368.376,7610061,339.318 0.792
 1,340.218  221,2841,832,566.919,133007830.726 1.255832.391  231,044
 1,573,491.845,3800061,031.07 0.6541,032

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Douglas Fabiano Specht
Em 2 de julho de 2013 10:20, Luiz Carlos L. Nogueira Jr. 
lcnogueir...@gmail.com escreveu:



 Em 2 de julho de 2013 09:51, Luiz Carlos L. Nogueira Jr. 
 lcnogueir...@gmail.com escreveu:

 Infelizmente não temos esse canal de comunicação com quem desenvolve.
 Apenas tentamos fazer o banco ficar vivo com a aplicação que nos mandam.


 Já tinha solicitado mudar voltar o work_mem ao que era antes, mas estou
 no aguardo.
 A mudança pra 4MB foi depois das 10:00h. (antes era 50MB)
 Out of memory é nosso maior problema hoje em dia e o pessoal fica
 atacando todos os lados para tentar resolver esse problema.
 Mandei o resultado do pgbadger de ontem (anexo) pra vocês terem uma noção
 do que estou falando.

   DayHourTemporary filesCheckpointsCountAv. sizeWrote buffers Added
 RemovedRecycledWrite time (sec)Sync time (sec)Total time (sec)Jul 011,782
 006318.5350.845319.555  01001,706006299.776 4.28306.012  02001,706006
 291.277 2.641294.667  0300850007154.751 0.536155.579  040022800644.7120.347
 45.183  0500220063.343 0.0593.691  06007000612.97 0.19213.246  070013,267
 0061,342.563 2.3821,345.067  080041,76200171,799.65 2.4071,802.207  0900
 50,34300231,799.473 3.331,803.222  103,5041,422,158.8674,9940037 1,570.57
 4.7711,576.218  116,5891,555,362.3448,7610023 1,799.4533.1991,803.115  12
 4,4141,617,694.5444,0350021 1,799.8031.8921,801.845  134,2661,591,733.97
 24,4850011 1,799.2091.6781,801.092  145,5901,544,146.8046,65000191,799.546
 2.7381,802.66  157,4401,596,696.5850,5600024 1,795.2952.4971,797.963  16
 6,3151,487,407.7272,5920034 1,798.6753.81,802.758  174,1971,811,036.99
 28,6950016 1,799.1621.5221,801.012  182,9221,885,185.649,6740071,614.54
 1.2131,616.126  191,6721,897,135.944,150006830.22 0.82831.138  202,083
 1,724,297.358,6080061,380.218 0.6971,380.993  212,3141,628,368.376,761006
 1,339.318 0.7921,340.218  221,2841,832,566.919,133007830.726 1.255832.391
  231,0441,573,491.845,3800061,031.07 0.6541,032



 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


bom dia Luiz
qual o tipo de conexao com o banco?
nos utilizamos o dbexpress e tivemos varios erros iguais a esse, mas todos
foram resolvidos via aplicacao, nao BD.


-- 

Douglas Fabiano Specht
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Luiz Carlos L. Nogueira Jr.
Java com hibernate
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Luiz Carlos L. Nogueira Jr.
Se alguém tiver a coragem de dizer que o problema é na aplicação, será
amaldiçoado por 5 gerações

NUNCA o problema está na aplicação, 
(Tive que descontrair um pouco)



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Matheus de Oliveira
2013/7/2 Luiz Carlos L. Nogueira Jr. lcnogueir...@gmail.com



 Em 2 de julho de 2013 09:51, Luiz Carlos L. Nogueira Jr. 
 lcnogueir...@gmail.com escreveu:

 Infelizmente não temos esse canal de comunicação com quem desenvolve.
 Apenas tentamos fazer o banco ficar vivo com a aplicação que nos mandam.


Não sei se você está comentando sobre minha reposta (já que não a
adicionou), mas

Nem sempre otimizar uma consulta significa modificá-la, em muitos casos
(muitos mesmo), a criação de um índice resolve o problema.


 Já tinha solicitado mudar voltar o work_mem ao que era antes, mas estou
 no aguardo.
 A mudança pra 4MB foi depois das 10:00h. (antes era 50MB)


De 50MB para 4MB me parece uma mudança muito brusca!

Out of memory é nosso maior problema hoje em dia e o pessoal fica atacando
 todos os lados para tentar resolver esse problema.


É um servidor dedicado ao banco? A solução é simples, adicione uma área de
swap maior.
( claro que você já tem área de swap, né?! )

Você ainda poderá ter problema de performance (ou não), mas se
out-of-memory for uma situação com baixa frequência, então isso resolveria.



 Mandei o resultado do pgbadger de ontem (anexo) pra vocês terem uma noção
 do que estou falando.

   DayHourTemporary filesCheckpointsCountAv. sizeWrote buffers Added
 RemovedRecycledWrite time (sec)Sync time (sec)Total time (sec)Jul 011,782
 006318.5350.845319.555  01001,706006299.776 4.28306.012  02001,706006
 291.277 2.641294.667  0300850007154.751 0.536155.579  040022800644.7120.347
 45.183  0500220063.343 0.0593.691  06007000612.97 0.19213.246  070013,267
 0061,342.563 2.3821,345.067  080041,76200171,799.65 2.4071,802.207  0900
 50,34300231,799.473 3.331,803.222  103,5041,422,158.8674,9940037 1,570.57
 4.7711,576.218  116,5891,555,362.3448,7610023 1,799.4533.1991,803.115  12
 4,4141,617,694.5444,0350021 1,799.8031.8921,801.845  134,2661,591,733.97
 24,4850011 1,799.2091.6781,801.092  145,5901,544,146.8046,65000191,799.546
 2.7381,802.66  157,4401,596,696.5850,5600024 1,795.2952.4971,797.963  16
 6,3151,487,407.7272,5920034 1,798.6753.81,802.758  174,1971,811,036.99
 28,6950016 1,799.1621.5221,801.012  182,9221,885,185.649,6740071,614.54
 1.2131,616.126  191,6721,897,135.944,150006830.22 0.82831.138  202,083
 1,724,297.358,6080061,380.218 0.6971,380.993  212,3141,628,368.376,761006
 1,339.318 0.7921,340.218  221,2841,832,566.919,133007830.726 1.255832.391
  231,0441,573,491.845,3800061,031.07 0.6541,032



É difícil determinar com certeza, mas pelas médias, vários desses arquivos
estão com menos de 2MB, logo um work_mem de 6MB já poderia evitar boa parte
desses.


Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Luiz Carlos L. Nogueira Jr.
Nem sempre otimizar uma consulta significa modificá-la, em muitos casos
(muitos mesmo), a criação de um índice resolve o problema.

*-Mas isso não depende da gente. Não temos autonomia no sistema, pois ele é
nacional. O que podemos fazer é dar a dica, mas não podemos garantir que
ela será implementada. *

De 50MB para 4MB me parece uma mudança muito brusca!

*-Essa alteração foi solicitada pelo pessoal que desenvolve o sistema
(CNJ). Fomos obrigados a implantar*

É um servidor dedicado ao banco? A solução é simples, adicione uma área de
swap maior.
( claro que você já tem área de swap, né?! )

*É dedicado, com 8 cores, 32 GB de memória. Uma máquina muito boa
O estranho é que não entra na área de swap quando o out of memory ocorre,*

Você ainda poderá ter problema de performance (ou não), mas se
out-of-memory for uma situação com baixa frequência, então isso resolveria.
*Não resolveu. temos que reiniciar os serviços várias vezes durante o dia*


É difícil determinar com certeza, mas pelas médias, vários desses arquivos
estão com menos de 2MB, logo um work_mem de 6MB já poderia evitar boa parte
desses.

Como temos memória suficiente, iria sugerir 10MB, pra evitar ao máximo o
uso de disco, fora que não temos tantas transações simultâneas.
Eu acho que 6MB de work_mem
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Flavio Henrique Araque Gurgel

Em 02-07-2013 11:36, Luiz Carlos L. Nogueira Jr. escreveu:

De 50MB para 4MB me parece uma mudança muito brusca!

*-Essa alteração foi solicitada pelo pessoal que desenvolve o sistema
(CNJ). Fomos obrigados a implantar*


Bom, fica difícil ajudar a resolver seu problema se você não tem 
autonomia ou puder sugerir ajustes, certo :)



*É dedicado, com 8 cores, 32 GB de memória. Uma máquina muito boa
O estranho é que não entra na área de swap quando o out of memory ocorre,*


Onde você viu esse out-of-memory? Log? Tem a mensagem exata?
Pelo que você tem falado, não parece ter havido consumo de sua memória 
RAM toda.



Você ainda poderá ter problema de performance (ou não), mas se
out-of-memory for uma situação com baixa frequência, então isso resolveria.
*Não resolveu. temos que reiniciar os serviços várias vezes durante o dia*


Faço a mesma pergunta acima.


É difícil determinar com certeza, mas pelas médias, vários desses
arquivos estão com menos de 2MB, logo um work_mem de 6MB já poderia
evitar boa parte desses.

Como temos memória suficiente, iria sugerir 10MB, pra evitar ao máximo o
uso de disco, fora que não temos tantas transações simultâneas.
Eu acho que 6MB de work_mem


Lembrando que o ajuste de work_mem não depende de reinício do servidor.
Você pode fazer a alteração no conf e dar um reload.
Você também pode fazer para o usuário da aplicação:
ALTER USER blabla SET work_mem='10MB';

Lembre-se que apenas as novas conexões irão se aproveitar disso, as já 
existentes irão ficar com o valor anterior (em ambos os casos de 
ajuste), portanto, como sua aplicação é Java com Hibernate provavelmente 
tem um pool que mantem as conexões abertas, seria legal reiniciar o 
servidor de aplicação ou forçar as conexões a serem encerradas com 
pg_terminate_backend (o pool abre de novo logo após).


[]s


__
Flavio Henrique A. Gurgel
Líder de Projetos Especiais
Consultoria, Projetos  Treinamentos 4LINUX
Tel1: +55-11.2125-4747 ou 2125-4748
www.4linux.com.br
email: fla...@4linux.com.br
__
FREE SOFTWARE SOLUTIONS
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Matheus de Oliveira
2013/7/2 Flavio Henrique Araque Gurgel fla...@4linux.com.br

 Em 02-07-2013 11:36, Luiz Carlos L. Nogueira Jr. escreveu:

 De 50MB para 4MB me parece uma mudança muito brusca!

 *-Essa alteração foi solicitada pelo pessoal que desenvolve o sistema
 (CNJ). Fomos obrigados a implantar*


 Bom, fica difícil ajudar a resolver seu problema se você não tem autonomia
 ou puder sugerir ajustes, certo :)


Mas então acho que você poderia pelo menos analisar a consulta e sugerir a
solução correta com valores mais palpáveis. A minha impressão (pela mudança
de 50MB para 4MB do work_mem) é que esses valores estão sendo chutados ao
acaso.



  *É dedicado, com 8 cores, 32 GB de memória. Uma máquina muito boa
 O estranho é que não entra na área de swap quando o out of memory ocorre,*


 Onde você viu esse out-of-memory? Log? Tem a mensagem exata?
 Pelo que você tem falado, não parece ter havido consumo de sua memória RAM
 toda.


Concordo com o Gurgel. Qual o erro exato que você está vendo?

Ainda, quanto de swap você tem? Certeza que está ativo? Por favor, poste o
resultado do comando:

$ free -m

 Você ainda poderá ter problema de performance (ou não), mas se
 out-of-memory for uma situação com baixa frequência, então isso
 resolveria.
 *Não resolveu. temos que reiniciar os serviços várias vezes durante o dia*


 Faço a mesma pergunta acima.


  É difícil determinar com certeza, mas pelas médias, vários desses
 arquivos estão com menos de 2MB, logo um work_mem de 6MB já poderia
 evitar boa parte desses.

 Como temos memória suficiente, iria sugerir 10MB, pra evitar ao máximo o
 uso de disco, fora que não temos tantas transações simultâneas.
 Eu acho que 6MB de work_mem



Como eu já tinha dito, olhando por cima recomendaria 10MB. Ainda mais agora
que sei que a máquina tem 32GB (diria até mais). E mais, qual o valor do
shared_buffers? Aliás, de preferência o valor de todas variáveis não
padrões, poste o resultado da consulta [1].


 Lembrando que o ajuste de work_mem não depende de reinício do servidor.
 Você pode fazer a alteração no conf e dar um reload.
 Você também pode fazer para o usuário da aplicação:
 ALTER USER blabla SET work_mem='10MB';


Isso mesmo... =D


 Lembre-se que apenas as novas conexões irão se aproveitar disso, as já
 existentes irão ficar com o valor anterior (em ambos os casos de ajuste),
 portanto, como sua aplicação é Java com Hibernate provavelmente tem um pool
 que mantem as conexões abertas, seria legal reiniciar o servidor de
 aplicação ou forçar as conexões a serem encerradas com pg_terminate_backend
 (o pool abre de novo logo após).


Não precisa disso, o work_mem irá ser alterado nas conexões abertas também.
Claro que não para as consultas já em progresso.

[1] http://wiki.postgresql.org/wiki/Server_Configuration

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Luiz Carlos L. Nogueira Jr.
2013-07-02 09:15:05 BRT [13553]: [169-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(42870) 0:31/7039 ERROR:  out of memory
2013-07-02 09:15:23 BRT [15019]: [1-1] db=,user=@ 0:31/7044 ERROR:  out of
memory
2013-07-02 09:15:23 BRT [14378]: [37-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43267) 0:57/1625 ERROR:  out of memory
2013-07-02 09:15:42 BRT [14745]: [27-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43494) 0:45/1356 ERROR:  out of memory
2013-07-02 09:16:04 BRT [14384]: [65-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43274) 0:64/782 ERROR:  out of memory
2013-07-02 09:16:29 BRT [14750]: [165-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43500) 0:67/282 ERROR:  out of memory
2013-07-02 09:20:28 BRT [13681]: [3-1] db=pje_cgj_descanso_p,user=
postgres@192.168.251.217(46968) 0:3/10650 ERROR:  out of memory
2013-07-02 09:28:47 BRT [15161]: [1-1] db=,user=@ 0:7/219 ERROR:  out of
memory
2013-07-02 09:29:08 BRT [14203]: [171-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43162) 0:42/682 ERROR:  out of memory
2013-07-02 09:29:13 BRT [14368]: [133-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43257) 0:47/1275 ERROR:  out of memory
2013-07-02 09:30:11 BRT [14200]: [364-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43159) 0:38/2850 ERROR:  out of memory
2013-07-02 09:41:35 BRT [13551]: [985-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(42868) 0:18/6973 ERROR:  out of memory
2013-07-02 09:42:43 BRT [15334]: [3-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43938) 0:74/81 ERROR:  out of memory
2013-07-02 09:42:45 BRT [15335]: [9-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43939) 0:75/6 ERROR:  out of memory
2013-07-02 09:42:46 BRT [15325]: [3-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43929) 0:31/7143 ERROR:  out of memory
2013-07-02 09:42:48 BRT [15332]: [3-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43936) 0:64/791 ERROR:  out of memory
2013-07-02 09:42:53 BRT [15337]: [1-1] db=,user=@ 0: FATAL:  out of memory
2013-07-02 09:42:59 BRT [15333]: [3-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43937) 0:67/301 ERROR:  out of memory
2013-07-02 09:43:02 BRT [13140]: [663-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(42710) 0:21/6117 ERROR:  out of memory
2013-07-02 09:43:08 BRT [14753]: [23-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43503) 0:70/22 ERROR:  out of memory
2013-07-02 09:43:13 BRT [14749]: [21-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43499) 0:66/45 ERROR:  out of memory
2013-07-02 09:43:14 BRT [14746]: [37-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43495) 0:43/1208 ERROR:  out of memory
2013-07-02 09:48:06 BRT [15329]: [81-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43933) 0:42/932 ERROR:  out of memory
2013-07-02 09:48:45 BRT [14367]: [23-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43256) 0:46/1080 ERROR:  out of memory
2013-07-02 09:49:05 BRT [14752]: [83-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43502) 0:69/133 ERROR:  out of memory
2013-07-02 09:49:27 BRT [14380]: [219-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43269) 0:59/2243 ERROR:  out of memory
2013-07-02 09:52:00 BRT [14202]: [381-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43161) 0:40/2971 ERROR:  out of memory
2013-07-02 09:56:26 BRT [15327]: [45-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43931) 0:38/3136 ERROR:  out of memory
2013-07-02 10:01:22 BRT [13381]: [652-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(42790) 0:28/6357 ERROR:  out of memory
2013-07-02 10:02:27 BRT [15328]: [37-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43932) 0:47/1495 ERROR:  out of memory
2013-07-02 10:02:32 BRT [14984]: [173-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43668) 0:34/2899 ERROR:  out of memory
2013-07-02 10:02:36 BRT [15331]: [59-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43935) 0:57/1838 ERROR:  out of memory
2013-07-02 10:03:14 BRT [14369]: [301-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(43258) 0:48/1368 ERROR:  out of memory
2013-07-02 10:13:14 BRT [15731]: [2-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(44193) 0: FATAL:  out of memory
2013-07-02 10:13:14 BRT [15736]: [2-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(44198) 0:70/0 FATAL:  out of memory
2013-07-02 10:13:14 BRT [15735]: [3-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(44197) 0:64/796 ERROR:  out of memory
2013-07-02 10:13:15 BRT [15726]: [3-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(44188) 0:46/1085 ERROR:  out of memory
2013-07-02 10:13:15 BRT [13543]: [727-1] 

Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Luiz Carlos L. Nogueira Jr.
Ainda, quanto de swap você tem? Certeza que está ativo? Por favor, poste o
resultado do comando:

*$ free -m

 free -m
 total   used   free sharedbuffers cached
Mem: 32110  30981   1129  0131  23483
-/+ buffers/cache:   7366  24743
Swap: 2559 12   2547
*

Mando de novo qdo estiver dando o out of memory
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Flavio Henrique Araque Gurgel


Em 02-07-2013 13:33, Luiz Carlos L. Nogueira Jr. escreveu:

2013-07-02 09:15:05 BRT [13553]: [169-1]
db=pje_jud1g_descanso_p,user=user_pje_jud1g@192.168.252.19
mailto:user_pje_jud1g@192.168.252.19(42870) 0:31/7039 ERROR:  out of
memory

Reiniciamos o servidor nesse momento. Agora é só dar um tempo e esperar
o out of memory.
Quando começar a dar, tirarei um free -m


Uhm... acho que o free -m não vai indicar falta de memória no servidor.
Provavelmente o que está dando erro é alguma função e o backend não está 
conseguindo alocar memória suficiente.


Já tive este problema no PostgreSQL em que era um vazamento de memória 
no backend, bug mesmo, foi corrigido.


Qual a versão exata (os três números) do PostgreSQL que está a rodando?

[]s

__
Flavio Henrique A. Gurgel
Líder de Projetos Especiais
Consultoria, Projetos  Treinamentos 4LINUX
Tel1: +55-11.2125-4747 ou 2125-4748
www.4linux.com.br
email: fla...@4linux.com.br
__
FREE SOFTWARE SOLUTIONS

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Flavio Henrique Araque Gurgel


Em 02-07-2013 13:34, Luiz Carlos L. Nogueira Jr. escreveu:


Ainda, quanto de swap você tem? Certeza que está ativo? Por favor, poste
o resultado do comando:

*$ free -m

  free -m
  total   used   free sharedbuffers cached
Mem: 32110  30981   1129  0131  23483
-/+ buffers/cache:   7366  24743
Swap: 2559 12   2547
*

Mando de novo qdo estiver dando o out of memory


Ok aguardaremos.
Veja que, neste momento que mandou, a máquina ainda tem 24GiB 
disponíveis (leia sempre a linha -/+ buffers/cache na coluna free)


Enquando isso, veja minha outra mensagem nesta thread que mandei agora a 
pouco.



__
Flavio Henrique A. Gurgel
Líder de Projetos Especiais
Consultoria, Projetos  Treinamentos 4LINUX
Tel1: +55-11.2125-4747 ou 2125-4748
www.4linux.com.br
email: fla...@4linux.com.br
__
FREE SOFTWARE SOLUTIONS
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Flavio Henrique Araque Gurgel


Em 02-07-2013 13:28, Matheus de Oliveira escreveu:

Lembre-se que apenas as novas conexões irão se aproveitar disso, as
já existentes irão ficar com o valor anterior (em ambos os casos de
ajuste), portanto, como sua aplicação é Java com Hibernate
provavelmente tem um pool que mantem as conexões abertas, seria
legal reiniciar o servidor de aplicação ou forçar as conexões a
serem encerradas com pg_terminate_backend (o pool abre de novo logo
após).


Não precisa disso, o work_mem irá ser alterado nas conexões abertas
também. Claro que não para as consultas já em progresso.


Desculpe, mas tem que abrir nova conexão sim:

Terminal A:
flavio=# show work_mem ;
 work_mem
--
 1MB
(1 registro)

Terminal B:
flavio=# alter user flavio set work_mem = '10MB';
ALTER ROLE
flavio=#

Terminal A no mesmo psql já aberto:
flavio=# show work_mem ;
 work_mem
--
 1MB
(1 registro)

O mesmo ocorre se alterar no conf e fizer reload.
Só muda para as novas conexões.

[]s

__
Flavio Henrique A. Gurgel
Líder de Projetos Especiais
Consultoria, Projetos  Treinamentos 4LINUX
Tel1: +55-11.2125-4747 ou 2125-4748
www.4linux.com.br
email: fla...@4linux.com.br
__
FREE SOFTWARE SOLUTIONS
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Luiz Carlos L. Nogueira Jr.
Pessoal,

PostgreSQL 9.1.6 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.6
20120305 (Red Hat 4.4.6-4), 64-bit

Luiz Carlos
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Flavio Henrique Araque Gurgel


Em 02-07-2013 14:00, Luiz Carlos L. Nogueira Jr. escreveu:

Pessoal,

PostgreSQL 9.1.6 on x86_64-unknown-linux-gnu, compiled by gcc (GCC)
4.4.6 20120305 (Red Hat 4.4.6-4), 64-bit

Luiz Carlos


Provavelmente você está afetado por um dos seguintes bugs:

Provavelmente é este aqui o seu problema, corrigido na 9.1.7:
Fix memory leaks when sending composite column values to the client (Tom 
Lane)


Ou este aqui, corrigido na 9.1.5:
Fix memory leak in ARRAY(SELECT ...) subqueries (Heikki Linnakangas, Tom 
Lane)


Mas também tem este corrigido na 9.1.7 (menos provável):
Avoid corruption of internal hash tables when out of memory (Hitoshi Harada)

Existe este corrigido na 9.1.9 (mas duvido que seja seu caso):
Eliminate memory leaks in PL/Perl's spi_prepare() function (Alex 
Hunsaker, Tom Lane)


Portanto, você *obrigatoriamente* terá de atualizar seu PostgreSQL para 
a versão 9.1.9. No mínimo, você tem que ir pra 9.1.7 pois tem bug 
relacionado ao seu problema *corrigido* lá.


Não adianta nem chorar a velha ladainha do foi homologado pro 9.1.4 por 
ordem do supremo rei das arábias. Tem que atualizar antes de tentar 
qualquer outra solução.


Não, não vai quebrar a aplicação com esta atualização.

[]s

__
Flavio Henrique A. Gurgel
Líder de Projetos Especiais
Consultoria, Projetos  Treinamentos 4LINUX
Tel1: +55-11.2125-4747 ou 2125-4748
www.4linux.com.br
email: fla...@4linux.com.br
__
FREE SOFTWARE SOLUTIONS
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Luiz Carlos L. Nogueira Jr.
Pessoal,
Começou o out of memory.

2013-07-02 15:16:24 BRT [20019]: [25-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(60910) 0:86/197 ERROR:  out of memory
2013-07-02 15:16:29 BRT [17045]: [1298-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(59263) 0:73/5073 ERROR:  out of memory
2013-07-02 15:20:32 BRT [20018]: [17-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(60911) 0:84/576 ERROR:  out of memory
2013-07-02 15:20:57 BRT [19479]: [53-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(60631) 0:44/830 ERROR:  out of memory
2013-07-02 15:23:25 BRT [20015]: [45-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(60907) 0:75/629 ERROR:  out of memory
2013-07-02 15:25:13 BRT [20016]: [28-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(60908) 0:80/1507 ERROR:  out of memory
2013-07-02 15:25:18 BRT [20034]: [21-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(60927) 0:100/102 ERROR:  out of memory
2013-07-02 15:25:25 BRT [19481]: [95-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(60633) 0:46/3711 ERROR:  out of memory
2013-07-02 15:27:00 BRT [20195]: [3-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(32827) 0:106/84 ERROR:  out of memory
2013-07-02 15:27:08 BRT [20039]: [3-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(60932) 0:105/46 ERROR:  out of memory
2013-07-02 15:27:56 BRT [20190]: [3-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(32821) 0:100/149 ERROR:  out of memory
2013-07-02 15:28:08 BRT [20194]: [31-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(32825) 0:86/225 ERROR:  out of memory
2013-07-02 15:28:37 BRT [20223]: [1-1] db=,user=@ 0: FATAL:  out of memory
2013-07-02 15:28:46 BRT [20199]: [11-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(32831) 0:110/151 ERROR:  out of memory
2013-07-02 15:29:07 BRT [16860]: [612-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(59104) 0:51/2261 ERROR:  out of memory
2013-07-02 15:29:18 BRT [17793]: [246-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(59827) 0:47/2684 ERROR:  out of memory
2013-07-02 15:30:29 BRT [20036]: [14-1] db=pje_jud1g_descanso_p,user=
user_pje_jud1g@192.168.252.19(60929) 0:102/183 ERROR:  out of memory
^C
[postgres@spdbpostgre01 pg_log]$ free -m
 total   used   free sharedbuffers cached
Mem: 32110  31875234  0110  19401
-/+ buffers/cache:  12363  19746
Swap: 2559 19   2540




Luiz Carlos
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Flavio Henrique Araque Gurgel

Em 02-07-2013 15:36, Luiz Carlos L. Nogueira Jr. escreveu:

Pessoal,
Começou o out of memory.


Você leu a mensagem que falei sobre os bugs existentes na versão que 
você roda?


Atualize. Não tem escolha.


[postgres@spdbpostgre01 pg_log]$ free -m
  total   used   free sharedbuffers cached
Mem: 32110  31875234  0110  19401
-/+ buffers/cache:  12363  19746
Swap: 2559 19   2540



Como esperado, você ainda tem 19GiB livres no servidor. Não está 
faltando memória no servidor.


O out-of-memory ocorre no backend (o processo que atende à conexão). É 
um vazamento de memória (memory leak).


Sua única alternativa é atualizar.
Se aumentar work_mem, só vai demorar mais para acontecer o 
out-of-memory. Mas ele *vai* acontecer de novo.


[]s

__
Flavio Henrique A. Gurgel
Líder de Projetos Especiais
Consultoria, Projetos  Treinamentos 4LINUX
Tel1: +55-11.2125-4747 ou 2125-4748
www.4linux.com.br
email: fla...@4linux.com.br
__
FREE SOFTWARE SOLUTIONS
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-02 Por tôpico Luiz Carlos L. Nogueira Jr.
Ok.

Já tinha repassado acima para autorização de atualização.
É ruim demais trabalhar de mão amarradas, mas PACIÊNCIA!
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] work_mem gerando pgsql_tmp com tamanhos pequenos

2013-07-01 Por tôpico Flavio Henrique Araque Gurgel

Em 01-07-2013 11:18, Luiz Carlos L. Nogueira Jr. escreveu:

Pessoal,
Configurei o work_mem do meu postgres para 4MB.
Só que aparecem mais linhas no meu log e com tamanhos menores que 4MB.

2013-07-01 11:08:26 BRT [25765]: [217-1]
db=pje_jud1g_descanso_p,user=user_pje_jud1g@192.168.252.19
mailto:user_pje_jud1g@192.168.252.19(35567) 0:13/1092 LOG:  temporary
file: path base/pgsql_tmp/pgsql_tmp25765.107, size 504624
2013-07-01 11:08:35 BRT [26091]: [135-1]
db=pje_jud1g_descanso_p,user=user_pje_jud1g@192.168.252.19
mailto:user_pje_jud1g@192.168.252.19(35683) 0:40/778 LOG:  temporary
file: path base/pgsql_tmp/pgsql_tmp26091.66, size 3476016
2013-07-01 11:08:35 BRT [26091]: [137-1]
db=pje_jud1g_descanso_p,user=user_pje_jud1g@192.168.252.19
mailto:user_pje_jud1g@192.168.252.19(35683) 0:40/778 LOG:  temporary
file: path base/pgsql_tmp/pgsql_tmp26091.67, size 2801864


Isso acontece pq estourou meu maintenance_work_mem?


Sim
[]s

__
Flavio Henrique A. Gurgel
Líder de Projetos Especiais
Consultoria, Projetos  Treinamentos 4LINUX
Tel1: +55-11.2125-4747 ou 2125-4748
www.4linux.com.br
email: fla...@4linux.com.br
__
FREE SOFTWARE SOLUTIONS
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral