From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Juanky Moral <juanky(dot)moral(at)gmail(dot)com> |
Cc: | Miguel <mmiranda(at)123(dot)com(dot)sv>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: 8.0.4 Super Lento |
Date: | 2005-11-16 11:30:07 |
Message-ID: | 20051116113007.GD11090@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Juanky Moral escribió:
> El 16/11/05, Alvaro Herrera<alvherre(at)commandprompt(dot)com> escribió:
> > Miguel escribió:
> >
> > > shiva1 napv2 # sysctl kernel.shmmax
> > > kernel.shmmax = 114676777
> > > shiva1 napv2 # sysctl kernel.shmall
> > > kernel.shmall = 114676777
> >
> > Hum, el articulo dice que hay que poner shmall en lo mismo que shmmax?
> > Eso es incorrecto -- en general, shmall se mide en paginas, no en bytes.
>
> La información la saqué de la propia documentación de postgres:
> http://developer.postgresql.org/docs/postgres/kernel-resources.html
>
> "SHMALL Total amount of shared memory available (bytes or pages)
> if bytes, same as SHMMAX;
> if pages, ceil(SHMMAX/PAGE_SIZE)"
>
> De acuerdo con la misma, se puede representar tanto en nº de bytes
> como en nº de páginas. Si se representa en bytes (opción del
> artículo), el valor es el mismo que SHMMAX.
Lo que quiere decir esta documentacion es que dependiendo del sistema,
la variable se medira de una u otra forma. Es responsabilidad del
lector entender cual de las dos es la correcta, y a partir de ahi
determinar cual es la ecuacion que debe usarse.
Ahora, lo cierto es que SHMALL, al igual que SHMMAX, es un _LIMITE_ y
por lo tanto si lo tienes mas alto de lo que necesitas en realidad no
pasa nada. Pero me llama la atencion la cantidad de gente que cree que
este numero se usa para algo distinto de decir "permiso denegado" cuando
el limite se excede.
En el caso de Linux, que es el sistema operativo no-Windows mas comun
AFAIK, veo en las fuentes que lo que se usa es el numero de paginas.
Esto se puede ver en ipc/shm.c en las fuentes del kernel, aunque pegarlo
aqui es algo fastidioso porque en realidad no esta bien documentado (es
cosa de seguirle la pista a la variable shm_tot).
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2005-11-16 11:32:18 | Re: 8.0.4 Super Lento |
Previous Message | Xavier Vidal | 2005-11-16 11:07:22 | Pasar a mínuscula los acentos |