Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: SHMALL y PAGE_SIZE


  • From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
  • To: Juanky Moral <juanky(dot)moral(at)gmail(dot)com>
  • Cc: Lista postgreslq Postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
  • Subject: Re: SHMALL y PAGE_SIZE
  • Date: Sat, 19 Nov 2005 11:25:26 -0300
  • Message-id: <20051119142526.GB30067@surnet.cl> <text/plain>

Juanky Moral escribió:

> - la documentación ha cambiado: ya no aparece la fórmula que
> publicaron en su día para calcular un tamaño razonable para SHMMAX, en
> función del número de conexiones y del nº de shared_buffers.

Bueno, todavia la formula sigue dependiendo exclusivamente de
max_connections y shared_buffers, pero las constantes han crecido.
Es facil hacer una investigacion modificando esos valores para obtener
varios puntos de la recta y calcular las constantes.  Observa que
Postgres te indica cual es el tamaño del segmento que esta pidiendo, si
no logra crearlo (hint: bajar SHMMAX hasta un numero ridiculamente
pequeño)

Hmm, ahora que lo pienso probablemente tambien depende de
max_locks_per_transaction.


> También tengo algunas dudas:
> - ¿Cómo puedo saber exactamente el tamaño de página (PAGE_SIZE) en mi
> kernel?. Uso kernel de linux 2.6. Creo que en 2.4 el tamaño era de
> 4KB, ¿aquí es el mismo tamaño?

Ni idea.

> - ¿puedo deducirlo planteando esta ecuación?:
> DEFAULT_SHMALL=ceil(DEFAULT_SHMMAX/PAGE_SIZE).
> (Los valores default se pueden conocer fácilmente a través del
> programa sysctl -a)

No creo.  SHMALL es un limite que aplica al total de procesos, mientras
que SHMMAX aplica a cada proceso individualmente, AFAIK.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group