Two different methods can solve this problem. First you need to know
what CPUs are installed (if you had, say an E6500, then processors are
not necessarily numbered sequentially and you MUST know the actual CPU
numbers) - type 'psrinfo' and it'll return a list. Since you said you
have an E450 and E450's can only have 4 CPU (and you have all 4
installed) then your CPU numbers must be 0, 1, 2, & 3.
Knowing this you can just type "pbind <cpu#> <process_id>".
This will restrict that PID to that CPU. "pbind" is inherited which
means that if you pbind a process and that process spawns children then
all the children will also be bound to that same CPU. That means that
if you have a start script, and in the start script you inoke the pbind
command to rebind the script's own PID (pbind 3 $$ would result in the
PID being bound to cpu #3 (the fourth CPU)) to a CPU then all the
processes that the script starts will stay on that same CPU.
This will restrict everything to just one CPU and you wanted them to run
on two. You could pbind some processes to, say, CPU 2 and others to
CPU3, or you could let them float and Solaris would schedule them as
needed (which would probably yeild the best performance). To do this
First create the processor set:
psrset -c 2 3 (put processors 2 & 3 in a processor set
which is created - the command returns the processor set ID).
psrset -b <processor_set_id> <pid>
If you do have a start script to fire up Oracle and program this into
the top of the script then every Oracle process started will will be
bound to the processor set (of 2 cpus) so that they'll float between
them as Solaris deems best.
>Does anyone have an example of binding an Oracle server (we are using
>8.1.7 standard edition)
>to two CPU's on a four CPU system.
>Background. We have an E450 which we have installed Oracle on, this
>system has 4 CPU's. I
>wish to only allow Oracle to use two of these for it's processes, the
>remaining two I wish to be
>left alone. These other two I will use for Ingres.
>The system is running Solaris 8 01/01
>Any help on this would be much appreciated.
>I am guessing you use the Solaris pbind command.... (I have never used
>Or is there any internal Oracle commands that can be used in the
>Department Of Information Services
>St. George's Hospital Medical School
>London SW17 0RE
>P: 44 (0)208 725 2896
>F: 44 (0)208 725 3583
>Your mouse has moved.
>Windows must be restarted for the change to take effect.
>Reboot now? [OK]