Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: your experiences to cpu-consumption on multi-cpu-hardware

Re: your experiences to cpu-consumption on multi-cpu-hardware

From: Billy Verreynne <vslabs_at_onwe.co.za>
Date: Fri, 27 Jun 2003 12:05:43 +0000
Message-ID: <bdh52e$t71$1@ctb-nnrp2.saix.net>


moosandl wrote:

> In my opinion one oracle.exe consumes 100% of only one CPU
> as a maximum and
> this CPU-load is shared via the OS with all other CPUs.

Oracle does *not* perform CPU binding. Anyone who disagrees, please show me the technical data to back it up as this is *not* what I have seen in the years I have used Oracle and did SMP development on Intel and RISC SMP's.

The operating system does the load balancing across the CPU. It decides what to runs where. Not Oracle.

On a 6 CPU HP-UX platform a _single_ Oracle process will run across _all_ CPU's. I.e. each CPU slice from the operating system kernel, given to the Oracle process, can be (and usually is) on a different CPU that the previous slice.

On the WinNT kernel is works differently as the first CPU is loaded to a certain level, before the next CPU is used (which is why you will see CPU0 at 60% and CPU3 at 1%). This behaviour may have changed since I last used WinNT 3.51 on 4xCPU SMP boxes as database server platforms - but I doubt it.

Moral of the story. DO NOT MUCK ABOUT WITH APPLICATION SIDE SMP TUNING. SMP tuning and load balancing should be (and always is) a function of the o/s kernel. Do not interfere with that (like attempting to bind one ORA_DBW process on a different CPU that another). Even if the o/s do support process-to-CPU binding as a command and API call. (been there, done that, and screwed up)

--
Billy
Received on Fri Jun 27 2003 - 07:05:43 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US