Welington R. Braga wrote:

> Já monitorei, mas nada indica qual processador esta em uso e o problema
> continua:
faça assim:
# top -u usuario-do-postgres
depois pressione '1'. Você vai ver as CPUs dai é só ver qual delas está
trabalhando.

> Eu tenho uma consulta que roda periodicamente importando dados de uma
> tabela para outra fazendo apenas algumas conversões de dados e numa
> quantidade na ordem de milhares de registros. Após executar essa
> consulta o acesso a base principal fica muito lento.
> 
Você está utilizando apenas uma transação? Acho o seu problema é
paralelizar a sua rotina de importação, assim você pode aproveitar
melhor os recursos de seu servidor.

> O problema pelo que percebi é que quando a consulta roda, o banco joga
> todos os registros para memória e lá ficam até ocorrer um commit.
> 
Por curiosidade que tipo de comandos SQL tem nessa rotina? INSERT? COPY?

> Eu notei que o uso de memória sobe absurdamente chegando a ocupar 100%
> dos meus 8GB de RAM - que não é muito mas não é tão baixo assim. E
> eventualmente um dos meu processadores grudam o "velocimetro" nos 100%
> também e assim ficam por um bom tempo.
> 
CPU a 100% é normal. Mas memória a 100% é problemático e se for por um
bom tempo é crítico. Acho que o problema todo está na sua rotina de
importação.


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a