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