Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: postgres processes spending most of their time in the kernel


  • From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
  • To: "Jeffrey W. Baker" <jwbaker(at)acm(dot)org>
  • Cc: pgsql-general(at)postgresql(dot)org
  • Subject: Re: postgres processes spending most of their time in the kernel
  • Date: Fri, 28 Dec 2001 13:44:49 -0500
  • Message-id: <13952.1009565089@sss.pgh.pa.us> <text/plain>

"Jeffrey W. Baker" <jwbaker(at)acm(dot)org> writes:
> I have a moderately loaded postgres server running 7.2beta4 (i wanted to
> try out the live vacuum) that turns out to spend the majority of its cpu
> time in kernel land.  With only a handful of running processes, postgres
> induces tens of thousands of context switches per second.  Practically the
> only thing postgres does with all this CPU time is semop() in a tight
> loop.

It sounds like you have a build that's using SysV semaphores in place of
test-and-set instructions.  That should not happen on x86 hardware,
since we have assembly TAS code for x86.  Please look at your port
header file (src/include/pg_config_os.h symlink) and
src/include/storage/s_lock.h to figure out why it's misbuilt.

			regards, tom lane



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group