I have a production server running OpenBSD 2.8, and I am running the generic
kernel because my compiled kernels have major problems with crashing the
My machine has a 1GHz processor (idle NEVER drops below 30%), and 1.5GB RAM.
I am trying to use RAM more to speed things up. The machine runs a
PostgreSQL server and Apache.
The load on my machine sits consistently between 7 and 10, although
sometimes peaking at 20. I have obviously been trying to bring this down.
When I look at top, I have a lot of postgres server connections sitting with
WAIT states of netio and semwai.
I have tried to increase the SYSV shared memory options, but I can't seem to
increase it sufficiently. I saw a tweaking guide that appeared to optimize
a machine for around 64MB of RAM, which obviously isn't what I want. The
parameters that I have tried are:
I CANNOT for the life of me find anywhere what these should be set for. The
Postgres tuning guide tells me some minimums, but it doesn't appear.
I have used ipcs -S and a few other things to poke around with what I can
set some variables to. However, I cannot crank up the max connections and
buffers for Postgres without increases the amount of shared memory and other
I've got about 2 weeks to fix the problem or the database server is being
migrated to a Linux server and OpenBSD will be relegated (if kept) to Web
Can someone who actually understands how this all works e-mail me so we can
get to the bottom of things? I really feel that more buffers for Postgres
would help my situation with big queries causing problems, but I also need a
solution for them constantly sitting in netio and semwai. For added fun, we
consistently have about 1.3GB of RAM free, which to me implies we aren't
bringing the hardware to bear.