dbaspot
Tags Register FAQ Calendar Search Today's Posts Mark Forums Read

CPU_COUNT - Oracle Server

This is a discussion on CPU_COUNT - Oracle Server ; Does anyone know what CPU_COUNT means on a mulit-core machine? Say you have a four core cpu. Does setting CPU_COUNT to 1 use all 4 cores on 1 CPU or 1 core on a CPU?...


Home > Database Forum > Oracle Database > Oracle Server > CPU_COUNT

Reply

 

LinkBack Thread Tools Display Modes
  #1  
Old 09-04-2009, 02:09 PM
Database Bot
 
Join Date: Sep 2009
Posts: 1,236,254
Database Administrator is on a distinguished road
Default CPU_COUNT

Does anyone know what CPU_COUNT means on a mulit-core machine? Say
you have a four core cpu. Does setting CPU_COUNT to 1 use all 4 cores
on 1 CPU or 1 core on a CPU?
Reply With Quote
  #2  
Old 09-04-2009, 02:24 PM
Database Bot
 
Join Date: Sep 2009
Posts: 1,236,254
Database Administrator is on a distinguished road
Default Re: CPU_COUNT

On Sep 4, 2:09*pm, Sue wrote:

snip

> Does anyone know what CPU_COUNT means on a mulit-core machine? *Say
> you have a four core cpu. *Does setting CPU_COUNT to 1 use all 4 cores
> on 1 CPU or 1 core on a CPU?


Each core looks like to oracle a cpu ... this is not a throttling or
hard/soft partitioning mechanism.

Never heard of anyone trying to set it directly ... oracle picks it up
from the operating system.

If you have a system that does some kind of hard partition of cpu
resources then oracle only see's what is available in that partition
( so sets CPU_COUNT correctly ).

There's a bunch of info in metalink on this ...

http://download.oracle.com/docs/cd/B...tparams038.htm



Reply With Quote
  #3  
Old 09-04-2009, 02:32 PM
Database Bot
 
Join Date: Sep 2009
Posts: 1,236,254
Database Administrator is on a distinguished road
Default Re: CPU_COUNT

On Fri, 4 Sep 2009 11:09:15 -0700 (PDT), Sue
wrote:

>Does anyone know what CPU_COUNT means on a mulit-core machine? Say
>you have a four core cpu. Does setting CPU_COUNT to 1 use all 4 cores
>on 1 CPU or 1 core on a CPU?


Why do you plan to *set* CPU_COUNT? One DOESN'T set CPU_COUNT.

And yes: if you have a four core cpu, Oracle sets cpu_count to 4, so
if *you* set to 1, Oracle will use only *one* core.

--
--
Sybrand Bakker
Senior Oracle DBA
Reply With Quote
  #4  
Old 09-04-2009, 02:38 PM
Database Bot
 
Join Date: Sep 2009
Posts: 1,236,254
Database Administrator is on a distinguished road
Default Re: CPU_COUNT

On Sep 4, 2:09*pm, Sue wrote:
> Does anyone know what CPU_COUNT means on a mulit-core machine? *Say
> you have a four core cpu. *Does setting CPU_COUNT to 1 use all 4 cores
> on 1 CPU or 1 core on a CPU?


Check v$license for some additional information.
As you didn't post any version info, I won't post any more details.

-bdbafh
Reply With Quote
  #5  
Old 09-04-2009, 03:04 PM
Database Bot
 
Join Date: Sep 2009
Posts: 1,236,254
Database Administrator is on a distinguished road
Default Re: CPU_COUNT

We're trying to determine how many CPUs we need to license. We have
way more machine than we can afford to license so we plan on using
Solaris containers to partition it. I realize that generally you
don't set this and we won't either once we figure out what we need. I
set CPU_COUNT to 1 thinking it would use 1 cpu/4cores but I can't tell
what it's doing. It appears to be using less than 4 cores. We
initially brought the machine up with no CPU restrictions, then set to
1 and are really feeling the change.

SQL> select * from dba_cpu_usage_statistics;
DBID VERSION TIMESTAMP CPU_COUNT
CPU_CORE_COUNT CPU_SOCKET_COUNT
---------- ----------------- ------------------- ----------
-------------- ----------------
1055427977 11.1.0.7.0 08/22/2009 22:09:14
32 16 4
1055427977 11.1.0.7.0 08/31/2009 22:41:41
1 16 4

This is actually a 4 CPU machine with 4 cores per CPU. Thanks for
any help. I've been searching metalink but not finding what I'm
looking for.

Sue
Reply With Quote
  #6  
Old 09-04-2009, 03:11 PM
Database Bot
 
Join Date: Sep 2009
Posts: 1,236,254
Database Administrator is on a distinguished road
Default Re: CPU_COUNT

On Fri, 04 Sep 2009 11:09:15 -0700, Sue wrote:

> Does anyone know what CPU_COUNT means on a mulit-core machine? Say you
> have a four core cpu. Does setting CPU_COUNT to 1 use all 4 cores on 1
> CPU or 1 core on a CPU?


And why would you want to set that parameter? Your RDBMS has the 6th
sense and will sense the platform it is running on. If the hyperthreading
is enabled, Oracle will sense each thread as a separate CPU. I am not
sure about the super-duper Nehalem CPU which has a special kind of
hyperthreading because I don't have the machine available.



--
http://mgogala.freehostia.com
Reply With Quote
  #7  
Old 09-04-2009, 03:35 PM
Database Bot
 
Join Date: Sep 2009
Posts: 1,236,254
Database Administrator is on a distinguished road
Default Re: CPU_COUNT

On Sep 4, 3:04*pm, Sue wrote:

snip

> We're trying to determine how many CPUs we need to license. *We have
> way more machine than we can afford to license so we plan on using
> Solaris containers to partition it. *I realize that generally you
> don't set this and we won't either once we figure out what we need. *I
> set CPU_COUNT to 1 thinking it would use 1 cpu/4cores but I can't tell
> what it's doing. *It appears to be using less than 4 cores. *We
> initially brought the machine up with no CPU restrictions, then set to
> 1 and are really feeling the change.
>
> SQL> select * from dba_cpu_usage_statistics;
> * * * DBID VERSION * * * * * TIMESTAMP * * * * * *CPU_COUNT
> CPU_CORE_COUNT CPU_SOCKET_COUNT
> ---------- ----------------- ------------------- ----------
> -------------- ----------------
> 1055427977 11.1.0.7.0 * * * *08/22/2009 22:09:14
> 32 * * * * * * 16 * * * * * * * *4
> 1055427977 11.1.0.7.0 * * * *08/31/2009 22:41:41
> 1 * * * * * * 16 * * * * * * * *4
>
> This is actually a *4 CPU machine with 4 cores per CPU. *Thanks for
> any help. *I've been searching metalink but not finding what I'm
> looking for.
>
> Sue


Like I said ( already ) ... 1 core looks like 1 cpu to oracle ... 4
cores looks like 4 cpu's ...
Reply With Quote
  #8  
Old 09-04-2009, 05:54 PM
Database Bot
 
Join Date: Sep 2009
Posts: 1,236,254
Database Administrator is on a distinguished road
Default Re: CPU_COUNT

On Fri, 4 Sep 2009 12:04:51 -0700 (PDT), Sue
wrote:

>SQL> select * from dba_cpu_usage_statistics;
> DBID VERSION TIMESTAMP CPU_COUNT
>CPU_CORE_COUNT CPU_SOCKET_COUNT
>---------- ----------------- ------------------- ----------
>-------------- ----------------
>1055427977 11.1.0.7.0 08/22/2009 22:09:14
>32 16 4
>1055427977 11.1.0.7.0 08/31/2009 22:41:41
>1 16 4
>
>This is actually a 4 CPU machine with 4 cores per CPU. Thanks for
>any help. I've been searching metalink but not finding what I'm
>looking for.


I don't think so. The math is quite simple.
You have 4 cpu's with 4 cores, so CPU_COUNT will be 16. (As you see
above).
If you set CPU_COUNT to 1, you will use 1 core of 1 cpu.
Not that it matters as you do not pay for the number of cores that you
use, you pay for the number of cores in the server.

--
--
Sybrand Bakker
Senior Oracle DBA
Reply With Quote
  #9  
Old 09-04-2009, 06:25 PM
Database Bot
 
Join Date: Sep 2009
Posts: 1,236,254
Database Administrator is on a distinguished road
Default Re: CPU_COUNT

On Sep 4, 2:09*pm, Sue wrote:
> Does anyone know what CPU_COUNT means on a mulit-core machine? *Say
> you have a four core cpu. *Does setting CPU_COUNT to 1 use all 4 cores
> on 1 CPU or 1 core on a CPU?


Changing CPU_COUNT to 1 is not the right solution, as others have
mentioned. It will change some of Oracle automatic configuration
settings, such as the number of default DB writers, but it will not
confine Oracle to using only a single CPU (or CPU core) as it is the
operating system's responsibility to schedule threads and processes on
(or across) all CPUs.

That said, you may want to check the licensing information for your
edition of Oracle and the particular CPUs in the server. For
instance, Intel and AMD processors are currently licensed at 0.5 CPUs
per core in multi-core CPUs with the Enterprise Edition (thus 2 CPUs
license for a quad core Intel), and for Standard Edition only the CPU
socket is counted (thus 1 CPU license for a quad core). Other CPU
platforms have a 0.25 conversion factor for the Enterprise Edition
(and others might have a 0.75 conversion factor).

A quad core Nehalem (Xeon 5500 series or Core i7) will report a total
of 8 CPUs in Oracle, but I believe that this still counts as a 4 core
CPU.

Charles Hooper
IT Manager/Oracle DBA
K&M Machine-Fabricating, Inc.
Reply With Quote
  #10  
Old 09-04-2009, 06:29 PM
Database Bot
 
Join Date: Sep 2009
Posts: 1,236,254
Database Administrator is on a distinguished road
Default Re: CPU_COUNT

On Fri, 04 Sep 2009 15:25:14 -0700, Charles Hooper wrote:

> A quad core Nehalem (Xeon 5500 series or Core i7) will report a total of
> 8 CPUs in Oracle, but I believe that this still counts as a 4 core CPU.


Thanks. I was wondering about it.



--
http://mgogala.freehostia.com
Reply With Quote
Reply

Thread Tools
Display Modes



All times are GMT -4. The time now is 11:51 AM.