Uso de memoria en Postgres 8.3

From: Cesar Martin <cmartinp(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Uso de memoria en Postgres 8.3
Date: 2010-11-08 11:13:36
Message-ID: AANLkTim8mgNduMJj6u0AzMU+OD0BfdZ1XbY+Sh6yD+0y@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenos días,

Tengo un servidor con Postgres 8.3.9 instalado. El servidor solamente cumple
la función de albergar la BBDD Postgres y tiene las
siguientes características HW:
2x AMD Opteron six core 2.8MHz
32GB RAM
RAID 0 SAS SCSI con la BBDD
RAID 1 SAS SCSI WAL y SO

El servidor corre CentOS 5.4 de 64bits

Se que la configuración de disco podría ser mejor, separando el wal en una
RAID a parte de SO, pero no es ahí donde radica mi duda... El problema esta
en que cuando ejecuto free o un htop, nunca tengo en uso mas de 6GB, ahora
concretamente:

total used free shared buffers cached
Mem: 33005884 31835416 1170468 0 13848 27758660
-/+ buffers/cache: 4062908 28942976
Swap: 4192924 27400 4165524

La configuración del postgres.conf la realice en su día siguiendo varios
documentos y opiniones de las listas, la wiki de postgres y
http://www.westnet.com/~gsmith. Los parámetros que creo mas relevantes para
esto son:

shared_buffers = 8GB
work_mem = 64MB
maintenance_work_mem = 2GB
effective_cache_size = 22GB

Lo que me extraña es lo que he comando al principio, por mas carga que tiene
la maquina, la memoria ocupada no pasa de 6-7GB, Es normal este
comportamiento??

Adjunto al final el fichero postgres.conf completo.

Muchas gracias y un saludo.

POSTGRES.CONF
-----------------------------------------
port = 5432 # (change requires restart)
max_connections = 1000 # (change requires restart)
unix_socket_directory = '/var/run/postgres' # (change requires restart)
shared_buffers = 8GB # min 128kB or max_connections*16kB
work_mem = 64MB # min 64kB
maintenance_work_mem = 2GB # min 1MB

max_fsm_pages = 6553600 # min max_fsm_relations*16, 6 bytes each
# (change requires restart)
max_fsm_relations = 409000 # min 100, ~70 bytes each

fsync = on # turns forced synchronization on or off
wal_buffers = 8MB # min 32kB

checkpoint_segments = 16 # in logfile segments, min 1, 16MB each
checkpoint_completion_target = 0.9 # checkpoint target duration, 0.0 - 1.0

archive_mode = on # allows archiving to be done
archive_command = 'exit 0'

effective_cache_size = 22GB

log_destination = 'stderr' # Valid values are combinations of

logging_collector = on # Enable capturing of stderr and csvlog

log_directory = 'pg_log' # directory where log files are written,
log_truncate_on_rotation = on # If on, an existing log file of the
log_rotation_age = 1d # Automatic rotation of logfiles will
log_rotation_size = 0 # Automatic rotation of logfiles will

log_min_duration_statement = 5000

log_line_prefix = '%d - %t -' # special values:
log_statement = 'none' # none, ddl, mod, all

autovacuum = on

datestyle = 'iso, dmy'

lc_messages = 'es_ES(at)euro' # locale for system error message
lc_monetary = 'es_ES(at)euro' # locale for monetary formatting
lc_numeric = 'es_ES(at)euro' # locale for number formatting
lc_time = 'es_ES(at)euro' # locale for time formatting

default_text_search_config = 'pg_catalog.spanish'

--
César Martín Pérez
cmartinp(at)gmail(dot)com

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guillermo O. Burastero 2010-11-08 13:13:58 [Off Topic] Humor: QUEL reemplazaría a SQL! en PostgreSQL->PostreQUEL
Previous Message EDWARD MANTILLA 2010-11-07 17:09:08 Recuperar Bases a partir de Carpeta Data