2013/7/10 Luiz Carlos L. Nogueira Jr. <[email protected]>
> Linux
>
> Em 10 de julho de 2013 08:49, Matheus de Oliveira <
> [email protected]> escreveu:
>
>>
>>
>> 2013/7/9 Luiz Carlos L. Nogueira Jr. <[email protected]>
>>
>>> Pessoal,
>>>
>>> Tenho uma máquina de 32GB com shared_buffers=6GB
>>> Quando reinicio a mesma não vejo esses 6GB serem alocados na memória.
>>>
>>
>> O PostgreSQL aloca essa memória, mas não necessariamente o SO vai
>> disponibilizá-la de imediato, podendo deixar como memória virtual.
>>
>>
>>
>>> Onde poderia ver isso no SO?
>>>
>>
>> Qual SO?
>>
>>
A melhor forma de verificar a memória compartilhada que foi alocada é
utilizando o comando:
$ ipcs -m
Este vai te retornar todas os segmentos de memória, e na coluna bytes você
consegue ver o espaço alocado. Saiba que o PostgreSQL aloca um pouco mais
que o parâmetro shared_buffers. Verifique por segmentos cujo owner é o
usuário postgres (se você tiver apenas um cluster e mais de um segmento com
usuário postgres, algo está errado, nesse caso verifique se nattch está com
0, não deveria).
Há várias outras formas de verificar a memória sendo usada por um processo,
por exemplo você pode utilizar o comando ps:
$ ps aux -u postgres
A coluna VSZ vai te dar a memória virtual utilizada em KiB, que, de forma
simplória, é a quantidade de memória que o processo requisitou, mas não
necessariamente o SO alocou fisicamente (vai depender dos parâmetros de vm
- Virtual Memory). Enquanto a coluna RSS vai te dar a memória física em KiB
sendo usada, de fato, pelo processo.
Repare que a quantidade de memória usada por uma instância do PostgreSQL
não é a soma dessas colunas entre os processos, já que o segmento de
memória compartilhado pode ser contado várias vezes nestas. Veja em [1] uma
explicação mais detalhadas e comandos para encontrar a memória sendo usada
por cada processo do PostgreSQL
[1] http://www.depesz.com/2012/06/09/how-much-ram-is-postgresql-using/
Atenciosamente,
--
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral