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...@euro' # locale for system error message
lc_monetary = 'es...@euro' # locale for monetary formatting
lc_numeric = 'es...@euro' # locale for number formatting
lc_time = 'es...@euro' # locale for time formatting

default_text_search_config = 'pg_catalog.spanish'


-- 
César Martín Pérez
cmart...@gmail.com

Responder a