Olá pessoal, 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. 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?
Meu postgres é versão 9.0.10. Configuração de autovacuum "autovacuum";"on" "autovacuum_analyze_scale_factor";"0.05" "autovacuum_analyze_threshold";"10" "autovacuum_freeze_max_age";"200000000" "autovacuum_max_workers";"3" "autovacuum_naptime";"60" "autovacuum_vacuum_cost_delay";"20" "autovacuum_vacuum_cost_limit";"-1" "autovacuum_vacuum_scale_factor";"0.2" "autovacuum_vacuum_threshold";"50" "log_autovacuum_min_duration";"-1" Configuração de memória "maintenance_work_mem";"32768" "work_mem";"24576" "shared_buffers";"47104" "temp_buffers";"2048" --
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
