> -----Mensaje original-----
> De: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] En nombre de 
> Claudio Gajardo Garrido
> 
> Pues bien, tengo 2 GB de ram, y hay una configuracion que no 
> me cuadra, o tal vez estoy pajareando y no me doy cuenta:
> 
> mi config:
> 
> shared_buffers = 512MB   (25 % de la ram) 
> work_mem = 8MB
> maintenance_work_mem = 128MB  (recomendaban 256MB para 4 GB) 
> checkpoint_segments = 64MB effective_cache_size = 1024MB (50 
> % de la ram)
> 
> ahora, mirando el primer enlace me recomiendan ajustar la 
> memoria compartida...
> 
> actualmente:
> [EMAIL PROTECTED] bin]# cat /proc/sys/kernel/shmmax
> 33554432
> 
> 32 MB
> 
> y me recomiendan dejarla en minimo "shmmax debe ser mayor que 
> : Shared_bufer* 8192 "

Antes (8.1) los shared buffers se definían en unidades de 8KB c/u.
A partir de 8.2 se puede especificar directamente el tamaño en unidades de
memoria. Por ejemplo,

  shared_buffers = 512MB

Por ello no aplica más la recomendación de que la shared memory sea 8KB *
shared_buffers.

> 
> lo que me da :   536870912 (512 MB)  * 8096 = 4398046511104 :S
> 
> entonces no me cuadra, cual es la forma correcta de calcular 
> el valor para la memoria compartida (shmmax)???

No multipliques por 8096. Alcanza con setearlo un poco más grande que
shared_buffers.


Hay un poco de arte oscuro en esto de tunear postgres. Si te sirve de
referencia, en un servidor _dedicado_ con 4 GB de RAM, tengo la siguiente
config:

shared_buffers = 384MB
work_mem = 64MB
maintenance_work_mem = 132MB
effective_cache_size = 3GB

Es un servidor que recibe pocas conexiones simultáneas pero con algunos
queries complejos (por ello el work_mem grande).

Saludos,
Fernando.

--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo

Responder a