Estou executando o Postgresql em um servidor Ubuntu e preciso monitorar seu uso de memória. Atualmente, tenho scripts em execução em um cron job de um minuto que monitora/registra várias estatÃsticas e também precisa monitorar/registrar o uso de memória atual do Postgresql. Pesquisei e não consegui encontrar muito, além do fato de que o Postgresql faz bom uso da memória compartilhada, portanto, os valores fornecidos por um programa como 'top' não são precisos.
Como posso monitorar qual é o uso total de memória do Postgresql em um determinado momento? Esses dados serão usados ​​posteriormente para criar gráficos para análise.
O uso de memória no linux em geral e para Postgres em particular é um assunto bastante complexo , um bom ponto de partida é o blog de Bruce Momjian que cobre o assunto e o uso de smem . Vale a pena seguir os links do blog de Chris Seibenmann sobre o assunto.
Você pode usar
pmap
o comando para obter a memória usada de um processo: