Re: [pgbr-geral] oom-killer (out of memory killer) matando postmaster !
2017-05-16 22:23 GMT-03:00 Franklin Anderson de Oliveira Souza < frankli...@gmail.com>: > Eh um sistema legado nao tem como mexer, o servidor fica com uma media de > 160 conexoes abertas em sua maioria idle. acho que por enquanto isso nao e > um problema serio ! > > Quanto as minha duvida achei varias referencias no historico desde grupo, > eu devia ter pesquisado antes de enviar este email !!! Ja me ajudou ehehehe > > Em 16 de maio de 2017 21:20, Francisco Porfirio < > francisco.porfi...@gmail.com> escreveu: > >> >> Em ter, 16 de mai de 2017 às 21:38, Franklin Anderson de Oliveira Souza < >> frankli...@gmail.com> escreveu: >> >>> fui incrementando ao longo dos meses, com esse valor os arquivos >>> temporario ($PGDTA/base/pgsql_tmp/) diminuiram bastante ! >>> >> Considere revisar suas querys no lugar de incrementar desta forma o >> work_mem. >> >> Escrita de tempfile em grande quantidade não é algo muito interessante, e >> se usar demais a work_mem você ocupa toda a memória só com ela. >> >> Masss... Se ainda assim você precisar disso tudo, imagino que precisará >> rever a memória do teu Servidor, e os parâmetros de memória do Postgres/SO >> >> Reforço que eu me concentraria em verificar como poderia baixar a >> work_mem >> >>> >>> Em 16 de maio de 2017 20:17, Francisco Porfirio < >>> francisco.porfi...@gmail.com> escreveu: >>> Em ter, 16 de mai de 2017 às 17:50, Franklin Anderson de Oliveira Souzaescreveu: > Ola caros amigos, desculpe a falta de acentuacao !! > > Tenho um servidor postgresql que com uma frequencia quase que diaria o > mesmo altera para o estado de recovery, observando o log do postgresql > encontrei o seguinte trecho: > > - > LOG: server process (PID 2529) was terminated by signal 9: Killed > DETAIL: Failed process was running: select.. > LOG: terminating any other active server processes > WARNING: terminating connection because of crash of another server > process > DETAIL: The postmaster has commanded this server process to roll back > the current transaction and exit, because another server process exited > abnormally and possibly corrupted shared memory. > HINT: In a moment you should be able to reconnect to the database and > repeat your command. > - > > Em seguida observando o log do CentOS encontrei o seguinte: > > - > kernel: postmaster invoked oom-killer: gfp_mask=0x280da, order=0, > oom_adj=0, oom_score_adj=0 > kernel: postmaster cpuset=/ mems_allowed=0 > kernel: Pid: 51831, comm: postmaster Not tainted > 2.6.32-504.8.1.el6.x86_64 #1 > kernel: Call Trace: > kernel: [] ? cpuset_print_task_mems_allowed > +0x91/0xb0 > kernel: [] ? dump_header+0x90/0x1b0 > kernel: [] ? security_real_capable_noaudit+0x3c/0x70 > kernel: [] ? oom_kill_process+0x82/0x2a0 > kernel: [] ? select_bad_process+0xe1/0x120 > kernel: [] ? out_of_memory+0x220/0x3c0 > kernel: [] ? __alloc_pages_nodemask+0x89f/0x8d0 > kernel: [] ? alloc_pages_vma+0x9a/0x150 > kernel: [] ? handle_pte_fault+0x73d/0xb00 > kernel: [] ? alloc_pages_current+0xaa/0x110 > kernel: [] ? autoremove_wake_function+0x0/0x40 > kernel: [] ? handle_mm_fault+0x22a/0x300 > kernel: [] ? __do_page_fault+0x138/0x480 > kernel: [] ? sys_recvfrom+0xee/0x180 > kernel: [] ? mutex_lock+0x1e/0x50 > kernel: [] ? generic_file_llseek_size+0x8c/0xd0 > kernel: [] ? do_page_fault+0x3e/0xa0 > kernel: [] ? page_fault+0x25/0x30 > - > > Pesquisando encontrei na documentacao uma referencia a esse > problema[1] que mostra claramente que a funcao do kernel esta matando o > postmaster[2] deixando-o em recovery. > > O que eu fiz em um primeiro momento foi incrementar a memoria e depois > em um horario mais apropriado efetuarei as alteracoes sugeridas na > documentacao(vm.overcommit_memory, vm.overcommit_ratio, shmmax). > > Perguntas: > > 1 - Gostaria de saber de voces se me raciocinio esta correto, se ja > passaram por isso e que decisoes tomaram? > 2- Estou com dificuldade de mensurar o consumo de memoria do > postgresql, qual a melhor abordagem ?! Pelo comando htop vejo dos 32 gigas > hoje disponiveis (antes era 24 aumentei para 32) 98% esta ocupada, sendo > que 1/3 equivale no htop com a cor verde e 60% com a cor amarela[3], isso > significa que esta usando toda a memoria ?! > Use o pg_activity para isso. > > Dados adicionais: > Centos 6.6 > Postgresql 9.3.6 > kernel 2.6.32 > > effective_cache_size = 6GB > shared_buffers = 6GB > work_mem = 576MB > Esse valor é muito elevado, assim como o amigo já disse, é melhor vc revisar as queries do que utilizar esse parâmetro tão alto. Caso a sua query executa mais de 1 operação de ordenação e coisas
Re: [pgbr-geral] oom-killer (out of memory killer) matando postmaster !
Eh um sistema legado nao tem como mexer, o servidor fica com uma media de 160 conexoes abertas em sua maioria idle. acho que por enquanto isso nao e um problema serio ! Quanto as minha duvida achei varias referencias no historico desde grupo, eu devia ter pesquisado antes de enviar este email !!! Ja me ajudou ehehehe Em 16 de maio de 2017 21:20, Francisco Porfirio < francisco.porfi...@gmail.com> escreveu: > > Em ter, 16 de mai de 2017 às 21:38, Franklin Anderson de Oliveira Souza < > frankli...@gmail.com> escreveu: > >> fui incrementando ao longo dos meses, com esse valor os arquivos >> temporario ($PGDTA/base/pgsql_tmp/) diminuiram bastante ! >> > Considere revisar suas querys no lugar de incrementar desta forma o > work_mem. > > Escrita de tempfile em grande quantidade não é algo muito interessante, e > se usar demais a work_mem você ocupa toda a memória só com ela. > > Masss... Se ainda assim você precisar disso tudo, imagino que precisará > rever a memória do teu Servidor, e os parâmetros de memória do Postgres/SO > > Reforço que eu me concentraria em verificar como poderia baixar a work_mem > >> >> Em 16 de maio de 2017 20:17, Francisco Porfirio < >> francisco.porfi...@gmail.com> escreveu: >> >>> >>> Em ter, 16 de mai de 2017 às 17:50, Franklin Anderson de Oliveira Souza < >>> frankli...@gmail.com> escreveu: >>> Ola caros amigos, desculpe a falta de acentuacao !! Tenho um servidor postgresql que com uma frequencia quase que diaria o mesmo altera para o estado de recovery, observando o log do postgresql encontrei o seguinte trecho: - LOG: server process (PID 2529) was terminated by signal 9: Killed DETAIL: Failed process was running: select.. LOG: terminating any other active server processes WARNING: terminating connection because of crash of another server process DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. HINT: In a moment you should be able to reconnect to the database and repeat your command. - Em seguida observando o log do CentOS encontrei o seguinte: - kernel: postmaster invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0, oom_score_adj=0 kernel: postmaster cpuset=/ mems_allowed=0 kernel: Pid: 51831, comm: postmaster Not tainted 2.6.32-504.8.1.el6.x86_64 #1 kernel: Call Trace: kernel: [] ? cpuset_print_task_mems_allowed+0x91/0xb0 kernel: [] ? dump_header+0x90/0x1b0 kernel: [] ? security_real_capable_noaudit+0x3c/0x70 kernel: [] ? oom_kill_process+0x82/0x2a0 kernel: [] ? select_bad_process+0xe1/0x120 kernel: [] ? out_of_memory+0x220/0x3c0 kernel: [] ? __alloc_pages_nodemask+0x89f/0x8d0 kernel: [] ? alloc_pages_vma+0x9a/0x150 kernel: [] ? handle_pte_fault+0x73d/0xb00 kernel: [] ? alloc_pages_current+0xaa/0x110 kernel: [] ? autoremove_wake_function+0x0/0x40 kernel: [] ? handle_mm_fault+0x22a/0x300 kernel: [] ? __do_page_fault+0x138/0x480 kernel: [] ? sys_recvfrom+0xee/0x180 kernel: [] ? mutex_lock+0x1e/0x50 kernel: [] ? generic_file_llseek_size+0x8c/0xd0 kernel: [] ? do_page_fault+0x3e/0xa0 kernel: [] ? page_fault+0x25/0x30 - Pesquisando encontrei na documentacao uma referencia a esse problema[1] que mostra claramente que a funcao do kernel esta matando o postmaster[2] deixando-o em recovery. O que eu fiz em um primeiro momento foi incrementar a memoria e depois em um horario mais apropriado efetuarei as alteracoes sugeridas na documentacao(vm.overcommit_memory, vm.overcommit_ratio, shmmax). Perguntas: 1 - Gostaria de saber de voces se me raciocinio esta correto, se ja passaram por isso e que decisoes tomaram? 2- Estou com dificuldade de mensurar o consumo de memoria do postgresql, qual a melhor abordagem ?! Pelo comando htop vejo dos 32 gigas hoje disponiveis (antes era 24 aumentei para 32) 98% esta ocupada, sendo que 1/3 equivale no htop com a cor verde e 60% com a cor amarela[3], isso significa que esta usando toda a memoria ?! Dados adicionais: Centos 6.6 Postgresql 9.3.6 kernel 2.6.32 effective_cache_size = 6GB shared_buffers = 6GB work_mem = 576MB >>> >>> Me chamou muito atenção esse valor que você está usando na work_mem. >>> Qual o seu max_connections? >>> >>> Com o Work_mem deste tamanho você pode estourar o uso da memória super >>> rápido. >>> [1] - https://www.postgresql.org/docs/9.3/static/kernel-resources.html [2] - https://www.postgresql.org/docs/9.3/static/kernel-resources.html [3] - https://serverfault.com/questions/180711/what-exactly-
Re: [pgbr-geral] oom-killer (out of memory killer) matando postmaster !
Em ter, 16 de mai de 2017 às 21:38, Franklin Anderson de Oliveira Souza < frankli...@gmail.com> escreveu: > fui incrementando ao longo dos meses, com esse valor os arquivos > temporario ($PGDTA/base/pgsql_tmp/) diminuiram bastante ! > Considere revisar suas querys no lugar de incrementar desta forma o work_mem. Escrita de tempfile em grande quantidade não é algo muito interessante, e se usar demais a work_mem você ocupa toda a memória só com ela. Masss... Se ainda assim você precisar disso tudo, imagino que precisará rever a memória do teu Servidor, e os parâmetros de memória do Postgres/SO Reforço que eu me concentraria em verificar como poderia baixar a work_mem > > Em 16 de maio de 2017 20:17, Francisco Porfirio < > francisco.porfi...@gmail.com> escreveu: > >> >> Em ter, 16 de mai de 2017 às 17:50, Franklin Anderson de Oliveira Souza < >> frankli...@gmail.com> escreveu: >> >>> Ola caros amigos, desculpe a falta de acentuacao !! >>> >>> Tenho um servidor postgresql que com uma frequencia quase que diaria o >>> mesmo altera para o estado de recovery, observando o log do postgresql >>> encontrei o seguinte trecho: >>> >>> - >>> LOG: server process (PID 2529) was terminated by signal 9: Killed >>> DETAIL: Failed process was running: select.. >>> LOG: terminating any other active server processes >>> WARNING: terminating connection because of crash of another server >>> process >>> DETAIL: The postmaster has commanded this server process to roll back >>> the current transaction and exit, because another server process exited >>> abnormally and possibly corrupted shared memory. >>> HINT: In a moment you should be able to reconnect to the database and >>> repeat your command. >>> - >>> >>> Em seguida observando o log do CentOS encontrei o seguinte: >>> >>> - >>> kernel: postmaster invoked oom-killer: gfp_mask=0x280da, order=0, >>> oom_adj=0, oom_score_adj=0 >>> kernel: postmaster cpuset=/ mems_allowed=0 >>> kernel: Pid: 51831, comm: postmaster Not tainted >>> 2.6.32-504.8.1.el6.x86_64 #1 >>> kernel: Call Trace: >>> kernel: [] ? cpuset_print_task_mems_allowed+0x91/0xb0 >>> kernel: [] ? dump_header+0x90/0x1b0 >>> kernel: [] ? security_real_capable_noaudit+0x3c/0x70 >>> kernel: [] ? oom_kill_process+0x82/0x2a0 >>> kernel: [] ? select_bad_process+0xe1/0x120 >>> kernel: [] ? out_of_memory+0x220/0x3c0 >>> kernel: [] ? __alloc_pages_nodemask+0x89f/0x8d0 >>> kernel: [] ? alloc_pages_vma+0x9a/0x150 >>> kernel: [] ? handle_pte_fault+0x73d/0xb00 >>> kernel: [] ? alloc_pages_current+0xaa/0x110 >>> kernel: [] ? autoremove_wake_function+0x0/0x40 >>> kernel: [] ? handle_mm_fault+0x22a/0x300 >>> kernel: [] ? __do_page_fault+0x138/0x480 >>> kernel: [] ? sys_recvfrom+0xee/0x180 >>> kernel: [] ? mutex_lock+0x1e/0x50 >>> kernel: [] ? generic_file_llseek_size+0x8c/0xd0 >>> kernel: [] ? do_page_fault+0x3e/0xa0 >>> kernel: [] ? page_fault+0x25/0x30 >>> - >>> >>> Pesquisando encontrei na documentacao uma referencia a esse problema[1] >>> que mostra claramente que a funcao do kernel esta matando o postmaster[2] >>> deixando-o em recovery. >>> >>> O que eu fiz em um primeiro momento foi incrementar a memoria e depois >>> em um horario mais apropriado efetuarei as alteracoes sugeridas na >>> documentacao(vm.overcommit_memory, vm.overcommit_ratio, shmmax). >>> >>> Perguntas: >>> >>> 1 - Gostaria de saber de voces se me raciocinio esta correto, se ja >>> passaram por isso e que decisoes tomaram? >>> 2- Estou com dificuldade de mensurar o consumo de memoria do postgresql, >>> qual a melhor abordagem ?! Pelo comando htop vejo dos 32 gigas hoje >>> disponiveis (antes era 24 aumentei para 32) 98% esta ocupada, sendo que 1/3 >>> equivale no htop com a cor verde e 60% com a cor amarela[3], isso significa >>> que esta usando toda a memoria ?! >>> >>> Dados adicionais: >>> Centos 6.6 >>> Postgresql 9.3.6 >>> kernel 2.6.32 >>> >>> effective_cache_size = 6GB >>> shared_buffers = 6GB >>> work_mem = 576MB >>> >> >> Me chamou muito atenção esse valor que você está usando na work_mem. Qual >> o seu max_connections? >> >> Com o Work_mem deste tamanho você pode estourar o uso da memória super >> rápido. >> >>> >>> >>> [1] - https://www.postgresql.org/docs/9.3/static/kernel-resources.html >>> [2] - https://www.postgresql.org/docs/9.3/static/kernel-resources.html >>> [3] - >>> https://serverfault.com/questions/180711/what-exactly-do-the-colors-in-htop-status-bars-mean >>> >>> -- >>> foobar >>> ___ >>> pgbr-geral mailing list >>> pgbr-geral@listas.postgresql.org.br >>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> >> -- >> Atenciosamente >> Francisco Porfirio Ribeiro Neto >> >> ___ >> pgbr-geral mailing list >> pgbr-geral@listas.postgresql.org.br >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > > > > -- > foobar >
Re: [pgbr-geral] oom-killer (out of memory killer) matando postmaster !
fui incrementando ao longo dos meses, com esse valor os arquivos temporario ($PGDTA/base/pgsql_tmp/) diminuiram bastante ! Em 16 de maio de 2017 20:17, Francisco Porfirio < francisco.porfi...@gmail.com> escreveu: > > Em ter, 16 de mai de 2017 às 17:50, Franklin Anderson de Oliveira Souza < > frankli...@gmail.com> escreveu: > >> Ola caros amigos, desculpe a falta de acentuacao !! >> >> Tenho um servidor postgresql que com uma frequencia quase que diaria o >> mesmo altera para o estado de recovery, observando o log do postgresql >> encontrei o seguinte trecho: >> >> - >> LOG: server process (PID 2529) was terminated by signal 9: Killed >> DETAIL: Failed process was running: select.. >> LOG: terminating any other active server processes >> WARNING: terminating connection because of crash of another server >> process >> DETAIL: The postmaster has commanded this server process to roll back >> the current transaction and exit, because another server process exited >> abnormally and possibly corrupted shared memory. >> HINT: In a moment you should be able to reconnect to the database and >> repeat your command. >> - >> >> Em seguida observando o log do CentOS encontrei o seguinte: >> >> - >> kernel: postmaster invoked oom-killer: gfp_mask=0x280da, order=0, >> oom_adj=0, oom_score_adj=0 >> kernel: postmaster cpuset=/ mems_allowed=0 >> kernel: Pid: 51831, comm: postmaster Not tainted >> 2.6.32-504.8.1.el6.x86_64 #1 >> kernel: Call Trace: >> kernel: [] ? cpuset_print_task_mems_allowed+0x91/0xb0 >> kernel: [] ? dump_header+0x90/0x1b0 >> kernel: [] ? security_real_capable_noaudit+0x3c/0x70 >> kernel: [] ? oom_kill_process+0x82/0x2a0 >> kernel: [] ? select_bad_process+0xe1/0x120 >> kernel: [] ? out_of_memory+0x220/0x3c0 >> kernel: [] ? __alloc_pages_nodemask+0x89f/0x8d0 >> kernel: [] ? alloc_pages_vma+0x9a/0x150 >> kernel: [] ? handle_pte_fault+0x73d/0xb00 >> kernel: [] ? alloc_pages_current+0xaa/0x110 >> kernel: [] ? autoremove_wake_function+0x0/0x40 >> kernel: [] ? handle_mm_fault+0x22a/0x300 >> kernel: [] ? __do_page_fault+0x138/0x480 >> kernel: [] ? sys_recvfrom+0xee/0x180 >> kernel: [] ? mutex_lock+0x1e/0x50 >> kernel: [] ? generic_file_llseek_size+0x8c/0xd0 >> kernel: [] ? do_page_fault+0x3e/0xa0 >> kernel: [] ? page_fault+0x25/0x30 >> - >> >> Pesquisando encontrei na documentacao uma referencia a esse problema[1] >> que mostra claramente que a funcao do kernel esta matando o postmaster[2] >> deixando-o em recovery. >> >> O que eu fiz em um primeiro momento foi incrementar a memoria e depois em >> um horario mais apropriado efetuarei as alteracoes sugeridas na documentacao >> (vm.overcommit_memory, vm.overcommit_ratio, shmmax). >> >> Perguntas: >> >> 1 - Gostaria de saber de voces se me raciocinio esta correto, se ja >> passaram por isso e que decisoes tomaram? >> 2- Estou com dificuldade de mensurar o consumo de memoria do postgresql, >> qual a melhor abordagem ?! Pelo comando htop vejo dos 32 gigas hoje >> disponiveis (antes era 24 aumentei para 32) 98% esta ocupada, sendo que 1/3 >> equivale no htop com a cor verde e 60% com a cor amarela[3], isso significa >> que esta usando toda a memoria ?! >> >> Dados adicionais: >> Centos 6.6 >> Postgresql 9.3.6 >> kernel 2.6.32 >> >> effective_cache_size = 6GB >> shared_buffers = 6GB >> work_mem = 576MB >> > > Me chamou muito atenção esse valor que você está usando na work_mem. Qual > o seu max_connections? > > Com o Work_mem deste tamanho você pode estourar o uso da memória super > rápido. > >> >> >> [1] - https://www.postgresql.org/docs/9.3/static/kernel-resources.html >> [2] - https://www.postgresql.org/docs/9.3/static/kernel-resources.html >> [3] - https://serverfault.com/questions/180711/what-exactly- >> do-the-colors-in-htop-status-bars-mean >> >> -- >> foobar >> ___ >> pgbr-geral mailing list >> pgbr-geral@listas.postgresql.org.br >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > -- > Atenciosamente > Francisco Porfirio Ribeiro Neto > > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > -- foobar ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] oom-killer (out of memory killer) matando postmaster !
Em ter, 16 de mai de 2017 às 17:50, Franklin Anderson de Oliveira Souza < frankli...@gmail.com> escreveu: > Ola caros amigos, desculpe a falta de acentuacao !! > > Tenho um servidor postgresql que com uma frequencia quase que diaria o > mesmo altera para o estado de recovery, observando o log do postgresql > encontrei o seguinte trecho: > > - > LOG: server process (PID 2529) was terminated by signal 9: Killed > DETAIL: Failed process was running: select.. > LOG: terminating any other active server processes > WARNING: terminating connection because of crash of another server process > DETAIL: The postmaster has commanded this server process to roll back the > current transaction and exit, because another server process exited > abnormally and possibly corrupted shared memory. > HINT: In a moment you should be able to reconnect to the database and > repeat your command. > - > > Em seguida observando o log do CentOS encontrei o seguinte: > > - > kernel: postmaster invoked oom-killer: gfp_mask=0x280da, order=0, > oom_adj=0, oom_score_adj=0 > kernel: postmaster cpuset=/ mems_allowed=0 > kernel: Pid: 51831, comm: postmaster Not tainted 2.6.32-504.8.1.el6.x86_64 > #1 > kernel: Call Trace: > kernel: [] ? cpuset_print_task_mems_allowed+0x91/0xb0 > kernel: [] ? dump_header+0x90/0x1b0 > kernel: [] ? security_real_capable_noaudit+0x3c/0x70 > kernel: [] ? oom_kill_process+0x82/0x2a0 > kernel: [] ? select_bad_process+0xe1/0x120 > kernel: [] ? out_of_memory+0x220/0x3c0 > kernel: [] ? __alloc_pages_nodemask+0x89f/0x8d0 > kernel: [] ? alloc_pages_vma+0x9a/0x150 > kernel: [] ? handle_pte_fault+0x73d/0xb00 > kernel: [] ? alloc_pages_current+0xaa/0x110 > kernel: [] ? autoremove_wake_function+0x0/0x40 > kernel: [] ? handle_mm_fault+0x22a/0x300 > kernel: [] ? __do_page_fault+0x138/0x480 > kernel: [] ? sys_recvfrom+0xee/0x180 > kernel: [] ? mutex_lock+0x1e/0x50 > kernel: [] ? generic_file_llseek_size+0x8c/0xd0 > kernel: [] ? do_page_fault+0x3e/0xa0 > kernel: [] ? page_fault+0x25/0x30 > - > > Pesquisando encontrei na documentacao uma referencia a esse problema[1] > que mostra claramente que a funcao do kernel esta matando o postmaster[2] > deixando-o em recovery. > > O que eu fiz em um primeiro momento foi incrementar a memoria e depois em > um horario mais apropriado efetuarei as alteracoes sugeridas na > documentacao(vm.overcommit_memory, > vm.overcommit_ratio, shmmax). > > Perguntas: > > 1 - Gostaria de saber de voces se me raciocinio esta correto, se ja > passaram por isso e que decisoes tomaram? > 2- Estou com dificuldade de mensurar o consumo de memoria do postgresql, > qual a melhor abordagem ?! Pelo comando htop vejo dos 32 gigas hoje > disponiveis (antes era 24 aumentei para 32) 98% esta ocupada, sendo que 1/3 > equivale no htop com a cor verde e 60% com a cor amarela[3], isso significa > que esta usando toda a memoria ?! > > Dados adicionais: > Centos 6.6 > Postgresql 9.3.6 > kernel 2.6.32 > > effective_cache_size = 6GB > shared_buffers = 6GB > work_mem = 576MB > Me chamou muito atenção esse valor que você está usando na work_mem. Qual o seu max_connections? Com o Work_mem deste tamanho você pode estourar o uso da memória super rápido. > > > [1] - https://www.postgresql.org/docs/9.3/static/kernel-resources.html > [2] - https://www.postgresql.org/docs/9.3/static/kernel-resources.html > [3] - > https://serverfault.com/questions/180711/what-exactly-do-the-colors-in-htop-status-bars-mean > > -- > foobar > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Atenciosamente Francisco Porfirio Ribeiro Neto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] oom-killer (out of memory killer) matando postmaster !
Ola caros amigos, desculpe a falta de acentuacao !! Tenho um servidor postgresql que com uma frequencia quase que diaria o mesmo altera para o estado de recovery, observando o log do postgresql encontrei o seguinte trecho: - LOG: server process (PID 2529) was terminated by signal 9: Killed DETAIL: Failed process was running: select.. LOG: terminating any other active server processes WARNING: terminating connection because of crash of another server process DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. HINT: In a moment you should be able to reconnect to the database and repeat your command. - Em seguida observando o log do CentOS encontrei o seguinte: - kernel: postmaster invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0, oom_score_adj=0 kernel: postmaster cpuset=/ mems_allowed=0 kernel: Pid: 51831, comm: postmaster Not tainted 2.6.32-504.8.1.el6.x86_64 #1 kernel: Call Trace: kernel: [] ? cpuset_print_task_mems_allowed+0x91/0xb0 kernel: [] ? dump_header+0x90/0x1b0 kernel: [] ? security_real_capable_noaudit+0x3c/0x70 kernel: [] ? oom_kill_process+0x82/0x2a0 kernel: [] ? select_bad_process+0xe1/0x120 kernel: [] ? out_of_memory+0x220/0x3c0 kernel: [] ? __alloc_pages_nodemask+0x89f/0x8d0 kernel: [] ? alloc_pages_vma+0x9a/0x150 kernel: [] ? handle_pte_fault+0x73d/0xb00 kernel: [] ? alloc_pages_current+0xaa/0x110 kernel: [] ? autoremove_wake_function+0x0/0x40 kernel: [] ? handle_mm_fault+0x22a/0x300 kernel: [] ? __do_page_fault+0x138/0x480 kernel: [] ? sys_recvfrom+0xee/0x180 kernel: [] ? mutex_lock+0x1e/0x50 kernel: [] ? generic_file_llseek_size+0x8c/0xd0 kernel: [] ? do_page_fault+0x3e/0xa0 kernel: [] ? page_fault+0x25/0x30 - Pesquisando encontrei na documentacao uma referencia a esse problema[1] que mostra claramente que a funcao do kernel esta matando o postmaster[2] deixando-o em recovery. O que eu fiz em um primeiro momento foi incrementar a memoria e depois em um horario mais apropriado efetuarei as alteracoes sugeridas na documentacao(vm.overcommit_memory, vm.overcommit_ratio, shmmax). Perguntas: 1 - Gostaria de saber de voces se me raciocinio esta correto, se ja passaram por isso e que decisoes tomaram? 2- Estou com dificuldade de mensurar o consumo de memoria do postgresql, qual a melhor abordagem ?! Pelo comando htop vejo dos 32 gigas hoje disponiveis (antes era 24 aumentei para 32) 98% esta ocupada, sendo que 1/3 equivale no htop com a cor verde e 60% com a cor amarela[3], isso significa que esta usando toda a memoria ?! Dados adicionais: Centos 6.6 Postgresql 9.3.6 kernel 2.6.32 effective_cache_size = 6GB shared_buffers = 6GB work_mem = 576MB [1] - https://www.postgresql.org/docs/9.3/static/kernel-resources.html [2] - https://www.postgresql.org/docs/9.3/static/kernel-resources.html [3] - https://serverfault.com/questions/180711/what-exactly-do-the-colors-in-htop-status-bars-mean -- foobar ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral