Re: Questions about tuning on FreeBSD...

From: postgres(at)vsservices(dot)com
To: Philip Hallstrom <philip(at)adhesivemedia(dot)com>, <pgsql-general(at)postgresql(dot)org>
Subject: Re: Questions about tuning on FreeBSD...
Date: 2001-09-11 04:44:34
Message-ID: 01091023443406.73075@prime.vsservices.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Monday 10 September 2001 18:52, Philip Hallstrom wrote:
> Hi all -
> I have some questions about tuning the various kernel parameters
> on FreeBSD. I've read Bruce's article a couple of times and the various
> parts of the documentation, but I still have some questions and was hoping
> people here could confirm/deny my assumptions.
>
> The machine in question has 512 megs of ram and doesn't do anything else
> significant other than postgresql.
>
Depending on the size of your DB, this should do OK...

> As I understand there are two major tuneable parameters:
>
> - shared buffer cache: which I can think of as a sort of RAM-based
> disk cache of recently accessed tables (or parts of tables). Ideally this
> would be large enough to hold the entire database. The goal is to make
> this large enough to hold the most commonly accessed tables.
I run with shared buffers = 5120

> - sort memory batch size: this is the amount of memory that *each backend*
> uses to do it's sorts/merges/joins. If the backend needs more than this
> then it writes to temporary files. Again the goal would be to make all
> your sorts/merges/joins fit in this size.

Sort Mem = 4096

> The overall goal is to give enough memory to postgresql so that it writes
> to disk as little as possible while making sure that the OS as a whole
> doesn't have to start swapping. So as a starting point could one install
> the OS, let it run for a bit, see how much memory it's using, see how much
> memory is left and assign most of that to postgresql?
>
>
> Regarding the KERNEL parameters. I can follow the general rules mentioned
> in the docs for configuring things no problem. However is there any
> danger in doing that? Can they be too big? Or can they only be too big
> in conjunction with giving postgresql too much memory? In otherwords if I
> set them to something, but don't run postgresql have I affected how the OS
> will run by itself?
>
> Is there a way to determine the maximum number of backends that can be run
> given a given amount of RAM?
>
> Also, if anyone has a Free# SYSV stuff BSD box with 512 ram, what are your
> kernel settings?

options SYSVSHM #SYSV-style shared memory
options SHMMAXPGS=12288
options SHMMAX="(SHMMAXPGS*PAGE_SIZE+1)"
options SHMSEG=256
options SHMMNI=512
options SHMMIN=1

options SYSVMSG #SYSV-style message queues

options SYSVSEM #SYSV-style semaphores
options SEMMNI=256
options SEMMNS=512
options SEMMNU=256
options SEMMAP=256

Note: Some of these might be WAY TOO high!
I could not find enough docs to tell me, so I just added extra
everywhere.... Maybe some of the experts can pick this apart...

>
> Thanks!
>
> -philip
>
>
On that note: Could some of the PostgreSQL expert take a look my
number of buffers and the kernel config and tell me if I'm running too
much of anything?

GB

--
GB Clark II | Roaming FreeBSD Admin
gclarkii(at)VSServices(dot)COM | General Geek
CTHULU for President - Why choose the lesser of two evils?

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Justin Clift 2001-09-11 05:37:49 Re: MacOS X Build Fails with 7.1.3
Previous Message Tatsuo Ishii 2001-09-11 04:43:06 Re: Fwd: Re: unicode in 7.1