| From: | "Glen Parker" <glenebob(at)nwlink(dot)com> |
|---|---|
| To: | "Pg-General" <pgsql-general(at)postgresql(dot)org> |
| Subject: | Re: Linux max on shared buffers? |
| Date: | 2002-07-11 07:11:06 |
| Message-ID: | 000601c228aa$208391c0$0b01a8c0@johnpark.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
> > What I have found, on a machine that is doing mostly DBMS servering
> > if you have a small shared buffer you will see that the CPU is
> > not fully utilized as it is waiting on I/O a lot of the time.
Just to repeat what curt said :-) : This doesn't make sence to me.
Whatever memory you give to Postgres for caching *could* be used by the
OS to cache. It doesn't seem that changing PG's buffer count should
make any real difference in real disk IO; the disk pages will get cached
one way or the other.
> What OS are you using? Unless it's really strange or really old, you
> are probably just removing an operating system buffer for each shared
> memory buffer you add. (But this is not good; two smaller buffers in
> series are not as good as one big buffer.)
When are PG's buffers *not* in series with the OS's? *Any* page that
postgres has read from disk has been in the OS cache. When reading a
page that's not in either cache, you get:
[Disk] => <read> => [OS cache] => <mem copy> => [PG cache]
And when its in only the OS cache, you get:
[OS cache] => <mem copy> => [PG cache]
The bigger your PG cache, the less often you have to ask the OS for a
page. That <mem copy> (plus syscall overhead) that happens between OS
cache and PG cache is expensive compared to not having to do it. Not
horribly so, I realize, but every little bit helps...
Unless I'm just completely missing something here, the bigger the PG
cache the better, within reason. Please don't come back with a remark
about other processes needing memory and possible swap storms, etc.; I
know to avoid that, and my approach would need to be *heavily* curbed on
machines that do things besides run Postgres. But as long as there is
no danger of starving the machine for memory, I don't see what the harm
is in giving more memory to Postgres.
<snip snip>
--Glen Parker
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Chris Albertson | 2002-07-11 07:20:14 | Re: Linux max on shared buffers? |
| Previous Message | frbn | 2002-07-11 07:09:40 | Re: XML to Postgres conversion |