Euller, Agradeço sua resposta. Segue considerações:
- sobre o parâmetro, utilizei o nome errado, me refiro ao parâmetro autovacuum_max_workers , presente na versão 9.0.10; - mesmo utilizando 24MB, na sessão, e demorando 40 mintuos, porque não utilizou total disponível 32MB, como funciona o rastreio de tuplas não vigentes? - é um processo do autovacuum, e não wrap-around; - Segue estatísticas da tabela: relname; seq_scan;seq_tup_read;idx_scan;idx_tup_fetch;n_tup_ins;n_tup_upd;n_tup_del;n_tup_hot_upd;n_live_tup;n_dead_tup;last_vacuum;last_autovacuum;last_analyze;last_autoanalyze "tbsession";33874;63090745;64590117;62505457;1051135;31172552;1050387;29656406;2159;55577;"30/04/2016 13:07:15";"03/05/2016 16:01:44";"30/04/2016 13:07:15";"03/05/2016 16:01:45" Tamanho total 11.3GB - sobre atualização do postgres, está em curso a execução de atualização para versão do Postgres. Minha preocupação final além disso é porque trata-se uma tabela com muio update, ou seja, muito inchada, porém, estou estudando para entender e tratar essa tabela. Obrigado. De: "Euler Taveira" <[email protected]> Para: "Comunidade PostgreSQL Brasileira" <[email protected]> Enviadas: Terça-feira, 3 de maio de 2016 15:45:57 Assunto: Re: [pgbr-geral] [memória autovacuum] On 03-05-2016 15:10, Daniel Luiz da Silva wrote: > Tenho castrado 32MB para o parâmetro maintenance_work_mem e 3 para > autovacuum_work_men. > Porém ao executar um processo de autovaccum de uma tabela específica a > memória utilizada de acordo com Sistema Operacional é de 24MB. > Na versão 9.0 *não* existe o parâmetro autovacuum_work_mem; utilize maintenance_work_mem. > Minha dúvida é sobre a quantidade de memória que um processo de > autovaccum pode utilizar, ou seja, de acordo com a documentação postgres > (http://www.postgresql.org/docs/9.1/static/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-MEMORY), > > esse valor é igual a quantidade de memória disponível para manutenção, > vezes a quantidade de processo autovaccum que podem rodar em paralelo. > No meu caso resulta 96MB. Por fim o processo estava executando > autovaccum a mais de 40min, utilizando no máximo 24MB, e apenas um > processo de autovaccum rodando. O SGBD não deveria utilizar o total > disponível para esse caso, levando em conta que além disso o servidor > estava com bastante memória disponível? > Não. Ele pode usar *até* maintenance_work_mem (ou autovacuum_work_mem) para rastreio de tuplas não vigentes. Cada processo do autovacuum vai usar no máximo maintenance_work_mem (ou autovacuum_work_mem), ou seja, como você só tem um processo usará no máximo 32 MB. É um worker do autovacuum normal ou anti-wraparound? Além disso, forneça as estatísticas (pg_stat_user_tables) e o tamanho da referida tabela. PS> sempre leia a documentação relativa a sua versão (9.0) e não versões recentes pois podem haver mudanças significativas. PS2> a 9.0 foi descontinuada a 7 meses. Considere atualizar a versão o quanto antes. -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral --
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
