From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Edwin Ramirez <ramirez(at)doc(dot)mssm(dot)edu> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org> |
Subject: | Re: [HACKERS] Postgres Performance |
Date: | 1999-09-10 15:01:51 |
Message-ID: | 10353.936975711@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Edwin Ramirez <ramirez(at)doc(dot)mssm(dot)edu> writes:
> I believe that disk pages are 1k in linux systems, that would mean that
> I am allocating 3M when using "postmaster -i -B 3096 -o -S 2048" and 2M
> for sorting. That is very low.
No, buffers are 8K apiece (unless you've changed the BLCKSZ constant in
config.h). So -B 3096 means 24 meg of buffer space. The -S number is
indeed measured in kilobytes, however.
> However, some of the postgres processes have memory segments larger
> than 3M (see bottom).
'top' does not show shared memory segments AFAIK, and the buffer area is
a shared memory segment. Try "ipcs -m -a" to see what's going on in
shared memory.
> That's basically what I tried to do, but I am unable to specify a very
> large number (it complained when I tried -B > ~3900).
You're probably running into a configuration limit of your kernel ---
at a guess, your kernel is configured not to give out shared memory
segments exceeding 32Mb.
> I understand that the OS is buffering the data read from disk, but
> postgres is competing with all the other processes on the system. I
> think that if postgres had a dedicated (user configurable) cache, like
> Oracle, then users could configure the system/postgres better.
The shared-buffer cache does serve that purpose...
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitry Samersoff | 1999-09-10 15:21:55 | RE: [HACKERS] Re: Query about postgres medical database |
Previous Message | Tom Lane | 1999-09-10 14:28:06 | Re: [HACKERS] Vacuum analyze bug CAUGHT |