Dedicating CPU processors - Oracle affinity
Oracle Tips by Burleson Consulting
Question: I have a 32 CPU Linux server with four large
applications and I want to dedicate 4 banks of 8 CPU's of each
application. Is CPU affinity a good practice for Oracle?
Answer: Processor (CPU) dedication is called "CPU affinity", and it's
been used for decades on large mainframe computers.
Today, CPU affinity a common technique on large Oracle servers with dozens of
applications and Oracle databases to keep any single application from "hogging"
all of the processing power. The downside, of course, is that one
application may suffer CPU enqueues (as evidenced by the "r" column of vmstat
For complete details on CPU configuration for Oracle, see my book
Tuning: The Definitive Reference".
Remember, CPU affinity is O/S specific, where you tell the OS to route
specific classes of tasks to specific processors:
Solaris - You can create a processor set:
Linux - You use the Linux processor schedule utility (schedutils)
Oracle also has some hidden parameters that enable/disable CPU affinity, but
YOU MUST get the consent of Oracle Technical support before altering an
Also see my notes on using the
to change dispatching priority of background tasks.
If you like Oracle tuning, see the book "Oracle
Tuning: The Definitive Reference", with 950 pages of tuning tips and
You can buy it direct from the publisher for 30%-off and get
instant access to the code depot of Oracle tuning scripts.