Hola Alvaro,
Mi servidor tiene 512GB de RAM, mi shmmax es 276 GB, mi shared_buffer is
128 GB.
Utilizando este comando puse ver:
# free -g
total used free shared buffers
cached
Mem: 504 499 5 129 0
466
-/+ buffers/cache: 31 472
La herramienta que utilizo es NewRelic y como usted dice solo esta
mostrando cuanto se ha utilizado y queda disponible por processos.
Tambien encontre un articulo bien interesante que hable acerca de disk
caching y como le sede RAM a los procesos cuando estos lo necesitan y por
eso es que se ve en los comandos de linux alrededor de un 95% de
utilizacion de la RAM cuando en NewRelic solo veo menos de un 10%.
https://www.linuxatemyram.com
Ahora 472 es ~94% de la RAM, y NewRelic solo me muestra el otro ~6% de
utilizacion.
Este es un servidor fisico dedicado solo a postgres, por supuesto hay
algunos otros procesos corriendo all'i pero nada de gran medida.
alguna idea de como poder decir, cuanto postgres esta usando realmente?
En su comentario anterior dice: "...la mayor
parte de la RAM debería ir a shared_buffers y al cache de filesystem por
parte del kernel...."
Cree que deba incrementar el shared_buffer por encima del 25% de la RAM?
Saludos,
Carlos.
On Thu, Mar 14, 2019 at 12:40 PM Alvaro Herrera <[email protected]>
wrote:
> Carlos T. Groero Carmona escribió:
> >
> > No se si este dato tenga alguna relacion pero, cuando empece a trabajar
> > aqui el shared_buffers era de 8GB, el uso de la RAM era al 10%,
> > recientemente aumentamos el shared_buffers = 96GB y el uso de la RAM
> > disminuyo al ~5%, olo en eventos criticos la RAM aumenta a un ~11%, una
> vez
> > este evento termina el uso de la RAm disminuye a un ~5%
>
> ¿cómo estás midiendo el uso de la RAM? obviamente si total RAM son 512
> GB, y shared_buffers son 96 GB, es físicamente imposible que sólo se
> esté usando el 5% (25 GB).
>
> En un servidor Postgres bien mantenido, a menos que sea OLAP, la mayor
> parte de la RAM debería ir a shared_buffers y al cache de filesystem por
> parte del kernel. Seguramente esa medición del uso de RAM solamente
> considera RAM usada localmente por procesos ... lo mejor que puedes
> hacer es botar esa herramienta a la basura.
>
> --
> Álvaro Herrera https://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>