I have recently found a nice utility called memstat (which shows how
much of private
(not shared)) memory each process uses. What kind of surprised me was
of memory that is used by PL/pgSQL (one more reason not to provide it
by default? ;-)).
# sysctl -w|grep plpgsql.so|head -6
39048k: PID 23814 (/usr/lib/postgresql/8.2/lib/plpgsql.so)
38972k: PID 23815 (/usr/lib/postgresql/8.2/lib/plpgsql.so)
39048k: PID 23817 (/usr/lib/postgresql/8.2/lib/plpgsql.so)
39048k: PID 23822 (/usr/lib/postgresql/8.2/lib/plpgsql.so)
39048k: PID 23825 (/usr/lib/postgresql/8.2/lib/plpgsql.so)
39048k: PID 23835 (/usr/lib/postgresql/8.2/lib/plpgsql.so)
Its an x86_64 platform, memory settings are:
temp_buffers = 8MB
work_mem = 8MB
...this does not include the plpgsql.so library, which is shared by
all backends (which
use PL/pgSQL). I know that system will eventually swap out unused parts, but
then again, 40MB * number_of_connections is a bit wasteful. It seems to me that
both temp_buffers and work_mem don't affect plpgsql.so's allocations.
I wonder if this is something specific for my setup, or if not, can we
used a bit.
PS: I am just starting research now, I thought other people's view is valuable.
pgsql-admin by date
|Next:||From: Raul Andres Duque||Date: 2008-02-22 14:42:39|
|Subject: Re: FW: [ADMIN] Clave usuario postgres|
|Previous:||From: Wolfgang Rodriguez||Date: 2008-02-22 12:01:38|
|Subject: FW: Clave usuario postgres|