Re: Hardware upgrade for a high-traffic database

From: Rod Taylor <pg(at)rbt(dot)ca>
To: Jason Coene <jcoene(at)gotfrag(dot)com>
Cc: 'Merlin Moncure' <merlin(dot)moncure(at)rcsonline(dot)com>, 'Postgresql Performance' <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Hardware upgrade for a high-traffic database
Date: 2004-08-11 22:26:41
Message-ID: 1092263200.16087.121.camel@jester
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Wed, 2004-08-11 at 18:03, Jason Coene wrote:
> > -----Original Message-----
> > From: Rod Taylor [mailto:pg(at)rbt(dot)ca]
> > Sent: Wednesday, August 11, 2004 5:46 PM
> > To: Jason Coene
> > Cc: 'Merlin Moncure'; Postgresql Performance
> > Subject: Re: [PERFORM] Hardware upgrade for a high-traffic database
> >
> > > I'm wondering why our PG server is using so little memory... The system
> > has
> > > 2GB of memory, though only around 200MB of it are used. Is there a PG
> >
> > This is the second time you've said this. Surely you're not implying
> > there is 1.8GB Free Memory -- rather than 1.8GB in Buffers or Cache.
>
> Hi Rod,
>
> I was looking at top and vmstat - which always show under 300MB "Active".
> We may hit 400MB at peak. Everything I see (though this isn't my area of
> expertise) points to most of the memory simply being unused. Results below,
> am I missing something?

This looks fine. The memory is not unused (only 5MB is actually empty)
but is being used for disk cache.

Active is memory used by programs and would need to be swapped if this
space was needed.

Inactive is memory that is generally dirty. Disk cache is often here. In
your case, you likely write to the same pages you're reading from --
which is why this number is so big. It also explains why a checkpoint is
a killer; a large chunk of this memory set needs to be pushed to disk.

Cache is memory used generally for disk cache that is not dirty. It's
been read from the disk and could be cleared immediately if necessary.

Wired is memory that cannot be swapped. In your case, Shared Memory is
probably Wired (this is good). There is another sysctl to check and set
whether it is wired or swappable.

Interesting (if dry) read:
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/vm-design/index.html

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Jason Coene 2004-08-11 22:53:52 Re: Hardware upgrade for a high-traffic database
Previous Message Jason Coene 2004-08-11 22:03:40 Re: Hardware upgrade for a high-traffic database