Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-10 Por tôpico Fábio Telles Rodriguez
Em 9 de julho de 2013 19:03, Euler Taveira eu...@timbira.com.br escreveu:

 On 09-07-2013 17:55, Luiz Carlos L. Nogueira Jr. wrote:
  Pessoal,
  Apesar de eu não ter acreditado, parece que resolveu
  mudei o overcommit_ratio de 50 pra 100 e 6 horas sem out of memory
 
 Eu não recomendaria utilizar 100 (apesar que alguns artigos
 recomendarem). Eu deixaria alguma memória para ser utilizada pelo SO e
 alguma outra aplicação acessório. Por isso, eu recomendaria *não*
 utilizar 100 mas um valor próximo.


É polêmico mesmo... eu costumo usar 80%. No caso aqui, como o swap é muito
pequeno, o risco é maior. Aumentando o swap a conta fica melhor.
-- 
Atenciosamente,
Fábio Telles Rodriguez
blog: http:// http://www.midstorm.org/~telles/shttp://tellesr.wordpress.com/
avepoint.blog.br
e-mail / gtalk / MSN: fabio.tel...@gmail.com
Skype: fabio_telles

Timbira - A empresa brasileira de Postgres
http://www.timbira.com.br
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Euler Taveira
On 09-07-2013 08:43, Luiz Carlos L. Nogueira Jr. wrote:

[*não* abra outro assunto; isso bagunça o histórico]

 O estranho é que quando ele aparece nem entrei ainda no swap e tenho
 vários buffers livres (free -m).
 Estou com a versão 9.1.9
 Máquina: 8 cores, 32GB, 6GB shared_buffers, 20MB work_mem.
 Isso ocorre mais quando tenho muitos processos idle in transaction,
 mas não obrigatoriamente.
 
Como você não continuou a outra thread, eu não vou buscá-la aqui e
talvez esteja perguntando algo que já está lá mas...

(i) qual o valor do parâmetro do kernel vm.overcommit_memory?

sysctl vm.overcommit_memory

(ii) qual o valor do parâmetro do kernel vm.overcommit_ratio?

sysctl vm.overcommit_ratio

(ii) olhe nos logs do SO se há entradas do OOM killer

grep -i kill /var/log/messages*

(iii) há alguma outro serviço concorrendo com o postgres nesta máquina?
(iv) você já executou um analisador de memória (por exemplo memtest)?
(v) qual a versão do kernel utilizada?


-- 
   Euler Taveira   Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Luiz Carlos L. Nogueira Jr.
É pq eu atualizei o postgres (9.1.6-9.1.9), que foi a última solução,
mas que não deu resultado, por isso abri outro post


(i) qual o valor do parâmetro do kernel vm.overcommit_memory?

sysctl vm.overcommit_memory
vm.overcommit_memory = 2



(ii) qual o valor do parâmetro do kernel vm.overcommit_ratio?

sysctl vm.overcommit_ratio
vm.overcommit_ratio = 50


(ii) olhe nos logs do SO se há entradas do OOM killer

grep -i kill /var/log/messages*
nada

(iii) há alguma outro serviço concorrendo com o postgres nesta máquina?
Não

(iv) você já executou um analisador de memória (por exemplo memtest)?
Não - Pedirei ao pessoal de SO

(v) qual a versão do kernel utilizada?
Linux spdbpostgre01 2.6.32-279.14.1.el6.x86_64 #1 SMP Mon Oct 15 13:44:51
EDT 2012 x86_64 x86_64 x86_64 GNU/Linux





Em 9 de julho de 2013 09:43, Euler Taveira eu...@timbira.com.br escreveu:

 On 09-07-2013 08:43, Luiz Carlos L. Nogueira Jr. wrote:

 [*não* abra outro assunto; isso bagunça o histórico]

  O estranho é que quando ele aparece nem entrei ainda no swap e tenho
  vários buffers livres (free -m).
  Estou com a versão 9.1.9
  Máquina: 8 cores, 32GB, 6GB shared_buffers, 20MB work_mem.
  Isso ocorre mais quando tenho muitos processos idle in transaction,
  mas não obrigatoriamente.
 
 Como você não continuou a outra thread, eu não vou buscá-la aqui e
 talvez esteja perguntando algo que já está lá mas...

 (i) qual o valor do parâmetro do kernel vm.overcommit_memory?

 sysctl vm.overcommit_memory

 (ii) qual o valor do parâmetro do kernel vm.overcommit_ratio?

 sysctl vm.overcommit_ratio

 (ii) olhe nos logs do SO se há entradas do OOM killer

 grep -i kill /var/log/messages*

 (iii) há alguma outro serviço concorrendo com o postgres nesta máquina?
 (iv) você já executou um analisador de memória (por exemplo memtest)?
 (v) qual a versão do kernel utilizada?


 --
Euler Taveira   Timbira - http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

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


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Euler Taveira
On 09-07-2013 08:43, Luiz Carlos L. Nogueira Jr. wrote:
 Estou com a versão 9.1.9
 Máquina: 8 cores, 32GB, 6GB shared_buffers, 20MB work_mem.
 
Mais alguns dados que acabei esquecendo de perguntar...

(i) quanto de swap você tem?
(ii) qual o resultado de EXPLAIN ANALYZE da consulta?
(iii) qual a saída do comando

ulimit -s

(iv) qual o valor do parâmetro vm.swapiness?

sysctl vm.swappiness

(v) qual a saída do comando

cat /proc/meminfo

(vi) além do erro da alocação de memória, aparece alguma mensagem
próximo a ela indicando a queda de um processo servidor ou mesmo algum
outro erro relevante a questão? Algo como

terminating connection because of crash of another server process
ou traduzindo
finalizando conexão por causa de uma queda de um outro processo servidor


-- 
   Euler Taveira   Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Luiz Carlos L. Nogueira Jr.
(i) quanto de swap você tem?
*free -m
 total   used   free sharedbuffers cached
Mem: 32110  16735  15374  0 31   9884
-/+ buffers/cache:   6819  25290
Swap: 2559 11   2548
*


(ii) qual o resultado de EXPLAIN ANALYZE da consulta?

(iii) qual a saída do comando

ulimit -s

*10240
*

(iv) qual o valor do parâmetro vm.swapiness?


sysctl vm.swappiness

*vm.swappiness = 60*

(v) qual a saída do comando

cat /proc/meminfo

*MemTotal:   32880848 kB
MemFree:15200452 kB
Buffers:   32868 kB
Cached: 10172808 kB
SwapCached: 1164 kB
Active:  9905792 kB
Inactive:6899428 kB
Active(anon):8541080 kB
Inactive(anon):  1672148 kB
Active(file):1364712 kB
Inactive(file):  5227280 kB
Unevictable:   0 kB
Mlocked:   0 kB
SwapTotal:   2621424 kB
SwapFree:2609624 kB
Dirty:  2120 kB
Writeback: 0 kB
AnonPages:   6592876 kB
Mapped:  3573064 kB
Shmem:   3613776 kB
Slab: 153124 kB
SReclaimable:  93848 kB
SUnreclaim:59276 kB
KernelStack:3480 kB
PageTables:   352516 kB
NFS_Unstable:  0 kB
Bounce:0 kB
WritebackTmp:  0 kB
CommitLimit:19061848 kB
Committed_AS:   13609336 kB
VmallocTotal:   34359738367 kB
VmallocUsed:  328592 kB
VmallocChunk:   34359340400 kB
HardwareCorrupted: 0 kB
AnonHugePages:   3411968 kB
HugePages_Total:   0
HugePages_Free:0
HugePages_Rsvd:0
HugePages_Surp:0
Hugepagesize:   2048 kB
DirectMap4k:   10240 kB
DirectMap2M:33544192 kB
*



(vi) além do erro da alocação de memória, aparece alguma mensagem
próximo a ela indicando a queda de um processo servidor ou mesmo algum
outro erro relevante a questão? Algo como

terminating connection because of crash of another server process
ou traduzindo
finalizando conexão por causa de uma queda de um outro processo servidor

*Não*


Em 9 de julho de 2013 10:29, Euler Taveira eu...@timbira.com.br escreveu:

 On 09-07-2013 08:43, Luiz Carlos L. Nogueira Jr. wrote:
  Estou com a versão 9.1.9
  Máquina: 8 cores, 32GB, 6GB shared_buffers, 20MB work_mem.
 
 Mais alguns dados que acabei esquecendo de perguntar...

 (i) quanto de swap você tem?
 (ii) qual o resultado de EXPLAIN ANALYZE da consulta?
 (iii) qual a saída do comando

 ulimit -s

 (iv) qual o valor do parâmetro vm.swapiness?

 sysctl vm.swappiness

 (v) qual a saída do comando

 cat /proc/meminfo

 (vi) além do erro da alocação de memória, aparece alguma mensagem
 próximo a ela indicando a queda de um processo servidor ou mesmo algum
 outro erro relevante a questão? Algo como

 terminating connection because of crash of another server process
 ou traduzindo
 finalizando conexão por causa de uma queda de um outro processo servidor


 --
Euler Taveira   Timbira - http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

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


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Luiz Carlos L. Nogueira Jr.
Esqueci o explain analyze

*Unique  (cost=70.19..71.87 rows=9 width=480) (actual time=1.734..2.069
rows=145 loops=1)
  -  Sort  (cost=70.19..70.21 rows=9 width=480) (actual time=1.730..1.781
rows=145 loops=1)
Sort Key: classejudi0_.ds_classe_judicial,
classejudi1_.ds_classe_judicial, classejudi0_.id_classe_judicial,
classejudi1_.id_classe_judicial, classejudi0_.in_ativo,
classejudi0_.id_classe_judicial_pai, classejudi0_.ds_classe_judicial_sigla,
classejudi0_.cd_classe_judicial, classejudi0_.cd_classe_outro,
classejudi0_.in_complementar, classejudi0_.in_controla_valor_causa,
classejudi0_.in_designa_aud_errovc, classejudi0_.in_exige_autoridade,
classejudi0_.in_exige_numeracao_propria, classejudi0_.id_fluxo,
classejudi0_.ds_icone, classejudi0_.in_ignora_compensacao,
classejudi0_.in_ignora_prevencao, classejudi0_.in_incidental,
classejudi0_.in_inicial, classejudi0_.in_jus_postulandi,
classejudi0_.ds_mensagem, classejudi0_.ds_natureza, classejudi0_.ds_norma,
classejudi0_.in_exige_pauta, classejudi0_.nr_piso_valor_causa,
classejudi0_.id_polo_ativo, classejudi0_.id_polo_passivo,
classejudi0_.in_possui_custa, classejudi0_.in_possui_filhos,
classejudi0_.tp_processo_referencia, classejudi0_.in_reclama_polo_passivo,
classejudi0_.in_recursal, classejudi0_.in_exige_revisor,
classejudi0_.in_segredo_justica, classejudi0_.nr_teto_valor_causa,
classejudi0_.id_tipo_audiencia, classejudi0_.vl_peso,
classejudi1_.in_ativo, classejudi1_.id_classe_judicial_pai,
classejudi1_.ds_classe_judicial_sigla, classejudi1_.cd_classe_judicial,
classejudi1_.cd_classe_outro, classejudi1_.in_complementar,
classejudi1_.in_controla_valor_causa, classejudi1_.in_designa_aud_errovc,
classejudi1_.in_exige_autoridade, classejudi1_.in_exige_numeracao_propria,
classejudi1_.id_fluxo, classejudi1_.ds_icone,
classejudi1_.in_ignora_compensacao, classejudi1_.in_ignora_prevencao,
classejudi1_.in_incidental, classejudi1_.in_inicial,
classejudi1_.in_jus_postulandi, classejudi1_.ds_mensagem,
classejudi1_.ds_natureza, classejudi1_.ds_norma,
classejudi1_.in_exige_pauta, classejudi1_.nr_piso_valor_causa,
classejudi1_.id_polo_ativo, classejudi1_.id_polo_passivo,
classejudi1_.in_possui_custa, classejudi1_.in_possui_filhos,
classejudi1_.tp_processo_referencia, classejudi1_.in_reclama_polo_passivo,
classejudi1_.in_recursal, classejudi1_.in_exige_revisor,
classejudi1_.in_segredo_justica, classejudi1_.nr_teto_valor_causa,
classejudi1_.id_tipo_audiencia, classejudi1_.vl_peso
Sort Method: quicksort  Memory: 74kB
-  Hash Right Join  (cost=25.21..70.04 rows=9 width=480) (actual
time=0.075..0.961 rows=145 loops=1)
  Hash Cond: ((classejudi1_.id_classe_judicial_pai)::integer =
(classejudi0_.id_classe_judicial)::integer)
  -  Seq Scan on tb_classe_judicial classejudi1_
(cost=0.00..42.36 rows=636 width=240) (actual time=0.006..0.344 rows=636
loops=1)
  -  Hash  (cost=25.10..25.10 rows=9 width=240) (actual
time=0.055..0.055 rows=9 loops=1)
Buckets: 1024  Batches: 1  Memory Usage: 2kB
-  Bitmap Heap Scan on tb_classe_judicial
classejudi0_  (cost=4.32..25.10 rows=9 width=240) (actual time=0.018..0.041
rows=9 loops=1)
  Recheck Cond: (id_classe_judicial_pai IS NULL)
  -  Bitmap Index Scan on
tb_classe_judicial_id_classe_judicial_pai_idx  (cost=0.00..4.32 rows=9
width=0) (actual time=0.011..0.011 rows=9 loops=1)
Index Cond: (id_classe_judicial_pai IS
NULL)
Total runtime: 2.269 ms
*


Em 9 de julho de 2013 10:38, Luiz Carlos L. Nogueira Jr. 
lcnogueir...@gmail.com escreveu:


 (i) quanto de swap você tem?
 *free -m
  total   used   free sharedbuffers cached
 Mem: 32110  16735  15374  0 31   9884
 -/+ buffers/cache:   6819  25290
 Swap: 2559 11   2548
 *



 (ii) qual o resultado de EXPLAIN ANALYZE da consulta?

 (iii) qual a saída do comando

 ulimit -s

 *10240
 *


 (iv) qual o valor do parâmetro vm.swapiness?


 sysctl vm.swappiness

 *vm.swappiness = 60*


 (v) qual a saída do comando

 cat /proc/meminfo

 *MemTotal:   32880848 kB
 MemFree:15200452 kB
 Buffers:   32868 kB
 Cached: 10172808 kB
 SwapCached: 1164 kB
 Active:  9905792 kB
 Inactive:6899428 kB
 Active(anon):8541080 kB
 Inactive(anon):  1672148 kB
 Active(file):1364712 kB
 Inactive(file):  5227280 kB
 Unevictable:   0 kB
 Mlocked:   0 kB
 SwapTotal:   2621424 kB
 SwapFree:2609624 kB
 Dirty:  2120 kB
 Writeback: 0 kB
 AnonPages:   6592876 kB
 Mapped:  3573064 kB
 Shmem:   3613776 kB
 Slab: 153124 kB
 SReclaimable:  93848 kB
 SUnreclaim:59276 kB
 KernelStack:3480 kB
 PageTables:   352516 kB
 NFS_Unstable:  0 kB
 Bounce:0 kB
 WritebackTmp:  0 kB
 

Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Luiz Carlos L. Nogueira Jr.
 (ii) qual o valor do parâmetro do kernel vm.overcommit_ratio?

sysctl vm.overcommit_ratio
vm.overcommit_ratio = 50

Ahá!!! Vale à pena aumentar para 80 ou mesmo 100. Vale à pena pesquisar
como o parâmetro funciona. Note que aumentar este parâmetro só vale para
 servidores dedicados. Se tiver algum outro serviço rodando junto, tem que
avaliar.


Sinceramente, não sei se isso resolveria meu problema, pois não está nem
perto de estourar a memória RAM, nem entrou no swap ainda.
O servidor é dedicado.
Eu tô achando que isso tem a ver com o hibernate e as operações demoradas
idle in transaction que ele faz.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Luiz Carlos L. Nogueira Jr.
Esse EXPLAIN foi obtido no mesmo banco de dados que ocorreu o problema?
Não me parece o mesmo do TopMemoryContext.

*Pior que é.*

Se quiserem os logs de ontem, mando sem problema.


Em 9 de julho de 2013 11:25, Euler Taveira eu...@timbira.com.br escreveu:

 On 09-07-2013 10:41, Luiz Carlos L. Nogueira Jr. wrote:
  Esqueci o explain analyze
 
 [Evite top-posting. Se você esqueceu de algo responda o meu email
 original ao invés do seu email subsequente. Isso deixa o histórico mais
 organizado.]

 Esse EXPLAIN foi obtido no mesmo banco de dados que ocorreu o problema?
 Não me parece o mesmo do TopMemoryContext.

  CommitLimit:19061848 kB
  Committed_AS:   13609336 kB
 
 Você pode estar chegando próximo ao limite de overcommit. Aconselho
 aumentar o vm.overcommit_ratio para algo em torno de 70, 75 ou 80. Uma
 outra alternativa para ambientes não controlados e/ou limitados é
 utilizar vm.overcommit_memory=0.

 Outra sugestão é definir que o OOM killer *não* pode matar processos do
 postgres. Apesar de você ter dito que isso não está nos logs mas receio
 que isso esteja acontecendo (pelos valores apresentados). Configure
 OOM_ADJ para -1000 no script de inicialização do SO ou, se tem um script
 próprio, faça isso no seu script:

 echo -1000  /proc/numdopid/oom_score_adj

 onde numdopid é o pid do processo pai do postgres.

 Pegando um gancho, como está a carga (aka load) dessa máquina?


 --
Euler Taveira   Timbira - http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

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


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Fábio Telles Rodriguez
Em 9 de julho de 2013 10:38, Luiz Carlos L. Nogueira Jr. 
lcnogueir...@gmail.com escreveu:


 (i) quanto de swap você tem?
 *free -m
  total   used   free sharedbuffers cached
 Mem: 32110  16735  15374  0 31   9884
 -/+ buffers/cache:   6819  25290
 Swap: 2559 11   2548
 *


Este valor de Swap é um pouco baixo. Eu costumo pensar em pelo menos 50% da
RAM disponível. Não é um pecado grava, mas seria bom ter pelo menos 16GB.
Veja, que se você tiver um surto de conexões encavalando de repente... a
quantidade de memória utilizada por conexão pode fazer o consumo aumentar
muito de repente.


 **



 (ii) qual o resultado de EXPLAIN ANALYZE da consulta?

 (iii) qual a saída do comando

 ulimit -s

 *10240
 *


 (iv) qual o valor do parâmetro vm.swapiness?


 sysctl vm.swappiness

 *vm.swappiness = 60*


 (v) qual a saída do comando

 cat /proc/meminfo

 *MemTotal:   32880848 kB
 MemFree:15200452 kB
 Buffers:   32868 kB
 Cached: 10172808 kB
 SwapCached: 1164 kB
 Active:  9905792 kB
 Inactive:6899428 kB
 Active(anon):8541080 kB
 Inactive(anon):  1672148 kB
 Active(file):1364712 kB
 Inactive(file):  5227280 kB
 Unevictable:   0 kB
 Mlocked:   0 kB
 SwapTotal:   2621424 kB
 SwapFree:2609624 kB
 Dirty:  2120 kB
 Writeback: 0 kB
 AnonPages:   6592876 kB
 Mapped:  3573064 kB
 Shmem:   3613776 kB
 Slab: 153124 kB
 SReclaimable:  93848 kB
 SUnreclaim:59276 kB
 KernelStack:3480 kB
 PageTables:   352516 kB
 NFS_Unstable:  0 kB
 Bounce:0 kB
 WritebackTmp:  0 kB
 CommitLimit:19061848 kB
 Committed_AS:   13609336 kB
 VmallocTotal:   34359738367 kB
 VmallocUsed:  328592 kB
 VmallocChunk:   34359340400 kB
 HardwareCorrupted: 0 kB
 AnonHugePages:   3411968 kB
 HugePages_Total:   0
 HugePages_Free:0
 HugePages_Rsvd:0
 HugePages_Surp:0
 Hugepagesize:   2048 kB
 DirectMap4k:   10240 kB
 DirectMap2M:33544192 kB
 *


Aqui parece Ok. Mas o importante é saber como isto está momentos antes da
queda e logo depois da queda. Quando eu quero investigar isso e não tenho
uma ferramenta descente de monitoramento, eu deixo um JOB coletando isso
direto de X em X segundos.


 (vi) além do erro da alocação de memória, aparece alguma mensagem
 próximo a ela indicando a queda de um processo servidor ou mesmo algum
 outro erro relevante a questão? Algo como

 terminating connection because of crash of another server process
 ou traduzindo
 finalizando conexão por causa de uma queda de um outro processo servidor

 *Não*


Minha recomendação, para garantir que o processo server não caia é usar o
-DLINUX_OOM_SCORE_ADJ=0

Vide:
http://www.postgresql.org/docs/current/static/kernel-resources.html#LINUX-MEMORY-OVERCOMMIT


-- 
Atenciosamente,
Fábio Telles Rodriguez
blog: http:// http://www.midstorm.org/~telles/shttp://tellesr.wordpress.com/
avepoint.blog.br
e-mail / gtalk / MSN: fabio.tel...@gmail.com
Skype: fabio_telles

Timbira - A empresa brasileira de Postgres
http://www.timbira.com.br
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Luiz Carlos L. Nogueira Jr.
Minha recomendação, para garantir que o processo server não caia é usar o
-DLINUX_OOM_SCORE_ADJ=0


*O processo server não cai*
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Fábio Telles Rodriguez
Em 9 de julho de 2013 11:25, Luiz Carlos L. Nogueira Jr. 
lcnogueir...@gmail.com escreveu:

  (ii) qual o valor do parâmetro do kernel vm.overcommit_ratio?

 sysctl vm.overcommit_ratio
 vm.overcommit_ratio = 50

 Ahá!!! Vale à pena aumentar para 80 ou mesmo 100. Vale à pena pesquisar
 como o parâmetro funciona. Note que aumentar este parâmetro só vale para
  servidores dedicados. Se tiver algum outro serviço rodando junto, tem que
 avaliar.


 Sinceramente, não sei se isso resolveria meu problema, pois não está nem
 perto de estourar a memória RAM, nem entrou no swap ainda.
 O servidor é dedicado.
 Eu tô achando que isso tem a ver com o hibernate e as operações demoradas
 idle in transaction que ele faz.



Com este valor em 50 não vai entrar no Swap nunca!!! Leia sobre o
parâmetro... resumindo ele diz que o usuário postgres pode usar no máximo
50% da memória total. Eu sei que parece idiota... mas existe toda uma
polêmica em torno disso que não vou discutir agora. Por isso num servidor
dedicado vale à pena aumentar para 80% ou até mais.

-- 
Atenciosamente,
Fábio Telles Rodriguez
blog: http:// http://www.midstorm.org/~telles/shttp://tellesr.wordpress.com/
avepoint.blog.br
e-mail / gtalk / MSN: fabio.tel...@gmail.com
Skype: fabio_telles

Timbira - A empresa brasileira de Postgres
http://www.timbira.com.br
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Luiz Carlos L. Nogueira Jr.
Por coincidância, um pouco antes disso, começou a dar o out of memory
 free -m
 total   used   free sharedbuffers cached
Mem: 32110  25108   7002  0 48  13086
-/+ buffers/cache:  11972  20137
Swap: 2559 11   2548



Vamos reiniciar o postgres pq a tendência a partir de agora é
deteriorar o banco.

Fiz

sysctl -w vm.overcommit_ratio=100



Em 9 de julho de 2013 11:33, Luiz Carlos L. Nogueira Jr. 
lcnogueir...@gmail.com escreveu:


 Minha recomendação, para garantir que o processo server não caia é usar o
 -DLINUX_OOM_SCORE_ADJ=0


 *O processo server não cai*



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


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Euler Taveira
On 09-07-2013 11:27, Luiz Carlos L. Nogueira Jr. wrote:
 Esse EXPLAIN foi obtido no mesmo banco de dados que ocorreu o problema?
 Não me parece o mesmo do TopMemoryContext.
 
 *Pior que é.*
 
Hmm... tenho 3 hipóteses (nesta ordem):

(i) configuração inadequada do overcommit (vamos ver se a mudança para
um dos valores sugeridos é efetiva) e OOM killer;
(ii) problema de hardware (analise a memória);
(iii) bug no postgres (neste último caso, seria necessário um caso de
teste com dados sintéticos ou reais que possa ser reproduzido em outras
máquinas).

Repetindo, como está o load da máquina no momento do problema?


-- 
   Euler Taveira   Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Luiz Carlos L. Nogueira Jr.
 Repetindo, como está o load da máquina no momento do problema?

*Qual comando você quer que use? Sou meio verde em linux*

Em 9 de julho de 2013 11:54, Euler Taveira eu...@timbira.com.br escreveu:

 On 09-07-2013 11:27, Luiz Carlos L. Nogueira Jr. wrote:
  Esse EXPLAIN foi obtido no mesmo banco de dados que ocorreu o problema?
  Não me parece o mesmo do TopMemoryContext.
 
  *Pior que é.*
 
 Hmm... tenho 3 hipóteses (nesta ordem):

 (i) configuração inadequada do overcommit (vamos ver se a mudança para
 um dos valores sugeridos é efetiva) e OOM killer;
 (ii) problema de hardware (analise a memória);
 (iii) bug no postgres (neste último caso, seria necessário um caso de
 teste com dados sintéticos ou reais que possa ser reproduzido em outras
 máquinas).

 Repetindo, como está o load da máquina no momento do problema?


 --
Euler Taveira   Timbira - http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

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


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Luiz Carlos L. Nogueira Jr.
Deixa começar a dar problema de novo que vejo. 2 horas depois do
overcommit_ratio e não deu mais.
Vamos esperar.

Em 9 de julho de 2013 12:00, Luiz Carlos L. Nogueira Jr. 
lcnogueir...@gmail.com escreveu:

 Repetindo, como está o load da máquina no momento do problema?

 *Qual comando você quer que use? Sou meio verde em linux*

 Em 9 de julho de 2013 11:54, Euler Taveira eu...@timbira.com.brescreveu:

 On 09-07-2013 11:27, Luiz Carlos L. Nogueira Jr. wrote:
  Esse EXPLAIN foi obtido no mesmo banco de dados que ocorreu o problema?
  Não me parece o mesmo do TopMemoryContext.
 
  *Pior que é.*
 
 Hmm... tenho 3 hipóteses (nesta ordem):

 (i) configuração inadequada do overcommit (vamos ver se a mudança para
 um dos valores sugeridos é efetiva) e OOM killer;
 (ii) problema de hardware (analise a memória);
 (iii) bug no postgres (neste último caso, seria necessário um caso de
 teste com dados sintéticos ou reais que possa ser reproduzido em outras
 máquinas).

 Repetindo, como está o load da máquina no momento do problema?


 --
Euler Taveira   Timbira - http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



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


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Charles Viana
Em 9 de julho de 2013 13:53, Luiz Carlos L. Nogueira Jr. 
lcnogueir...@gmail.com escreveu:

 Deixa começar a dar problema de novo que vejo. 2 horas depois do
 overcommit_ratio e não deu mais.
 Vamos esperar.


  Sua consulta utiliza a função crosstab ?
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Luiz Carlos L. Nogueira Jr.
Charles,

*Não*

Em 9 de julho de 2013 14:05, Charles Viana charles.vi...@gmail.comescreveu:


 Em 9 de julho de 2013 13:53, Luiz Carlos L. Nogueira Jr. 
 lcnogueir...@gmail.com escreveu:

 Deixa começar a dar problema de novo que vejo. 2 horas depois do
 overcommit_ratio e não deu mais.
 Vamos esperar.


   Sua consulta utiliza a função crosstab ?

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


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


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Luiz Carlos L. Nogueira Jr.
Pessoal,
Apesar de eu não ter acreditado, parece que resolveu
mudei o overcommit_ratio de 50 pra 100 e 6 horas sem out of memory

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


Re: [pgbr-geral] Como analisar a causa out of memory?

2013-07-09 Por tôpico Euler Taveira
On 09-07-2013 17:55, Luiz Carlos L. Nogueira Jr. wrote:
 Pessoal,
 Apesar de eu não ter acreditado, parece que resolveu
 mudei o overcommit_ratio de 50 pra 100 e 6 horas sem out of memory
 
Eu não recomendaria utilizar 100 (apesar que alguns artigos
recomendarem). Eu deixaria alguma memória para ser utilizada pelo SO e
alguma outra aplicação acessório. Por isso, eu recomendaria *não*
utilizar 100 mas um valor próximo.


-- 
   Euler Taveira   Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral