We help IT Professionals succeed at work.

Core number on SunOs

olegboiko
olegboiko asked
on
Hi Experts,

I'm trying to identify number of cores on Solaris box by using "kstat -p cpu_info" command.

Approach is based on counting different "core_id" per "chip_id" in output

However now I have a machine where "core_id" is completely missed in the output.

"uname -a" says it is SunOs 5.9

Do you know the reason "core_id" is not present in output?
Are there other reliable ways to calculate core per physical processor numbers?

Thanks,
Oleg
Comment
Watch Question

psrinfo -v

Should give you some processor info.
psrinfo -pv

Author

Commented:
Right, but this command shows number of physical processors along with the number of virtual processors which are not necessary cores. They could also be just threads.

So, in general I don't see a way to determine number of cores per physical CPU using only this command.
prtdiag -v

Author

Commented:
Ok, this command produces the following output for CPUs


==================================== CPUs ====================================
               E$          CPU                    CPU
CPU  Freq      Size        Implementation         Mask    Status      Location
---  --------  ----------  ---------------------  -----   ------      --------
0    1503 MHz  1MB         SUNW,UltraSPARC-IIIi    3.4    on-line     MB/P0
1    1503 MHz  1MB         SUNW,UltraSPARC-IIIi    3.4    on-line     MB/P1

Open in new window


Still, number of cores is not clear here.
I tried to search over the web, is seems like there is no reliable way to identify number of cores per CPU on SunOs 5.9
P0 and P1 are 2 physicals

Also with sun they had very specific processors families

The first non "T"  multicore sun processor was the ultra sparc IV

Author

Commented:
That's true. I have found somewhat more on the Web:

UltraSPARC III -- single core, no multithreading
UltraSPARC IV, IV+ -- dual core, no multithreading
UltraSPARC T1 -- 4, 6, 8 cores, 4 threads per core
UltraSPARC T2, T2+ -- 8 cores, 8 threads per core
SPARC T3 -- 8 or 16 cores, 8 threads per core
SPARC T4 -- 8 cores, 8 threads per core

There is also a line of SPARC64 processors. Does anybody knows if they are related to the above line of go separately?
try this -

 echo "`hostname` has `kstat cpu_info | grep core_id | uniq | wc -l` cores"

Open in new window

I just tried the kstat cpu_info on 2 servers a T2000 and a V240

the V240 has 2 physicals each with 1 core
 

and the T2000 showed 8 cores.

Author

Commented:
@jgiordano -- this is a good solution, but as a I posted in the very first comment "core_id" is not present in the output.

I think the reason is that it's SunOS 5.9. SunOS 5.10 that I have in lab show "core_id" in the output of kstat.
my apologies, I should have went back to your original question. You can still use kstat.

I could be wrong but Solaris 9 will not run on the T chips or the Mx000 servers. these are the only 2+ core chips. The only dual core chip is the US IV. So in that case if you do the following you will get multiple chip_ids on lets say an e2900. If you have 2 chip_ids with a value of 0 then they will be on the same physical.

kstat cpu_info | grep chip_id


chip_id                         0
        chip_id                         1
        chip_id                         2
        chip_id                         3
        chip_id                         8
        chip_id                         9
        chip_id                         10
        chip_id                         11
        chip_id                         0
        chip_id                         1
        chip_id                         2
        chip_id                         3
        chip_id                         8
        chip_id                         9
        chip_id                         10
        chip_id                         11

Author

Commented:
Oh, so you suggest that Solaris 9 doesn't support T chips.
I need to check this.

Thanks for an idea!
No the first T1000 and T2000 servers will run solaris 10 and above.