> -----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
