Messages in this thread | | | Date | Fri, 14 Sep 2012 00:37:49 +0200 | From | JA Magallón <> | Subject | Question on /proc/cpuinfo |
| |
Hi...
Probably it is a stupid question, but... I wan to count the number of processors, cores and threads on a linux system. I do it by reading /proc/cpuinfo.
The problem is that the meaning of 'cpu cores' and 'siblings' seems to have changed over time. Nowadays, it looks like this:
Dual P4 Xeon with HT: processor : 0 siblings : 1 cpu cores : 1 processor : 1 siblings : 1 cpu cores : 1 processor : 2 siblings : 1 cpu cores : 0 processor : 3 siblings : 1 cpu cores : 0
Single Atom N450 processor : 0 siblings : 1 cpu cores : 1 processor : 1 siblings : 1 cpu cores : 0
So it just sets logical 'fake' processors that have no core but one thread. And process would just be count 'processor' lines, add up 'cpu cores' lines and also add 'siblings' lines. Values of the latter ones are associated with the ligical processor, no the physical one.
Bu I have seen in google that in old docs and mail threads the values were associated with physical_id's, so in fact for the atom you would get something like
processor : 0 siblings : 2 cpu cores : 1 processor : 1 siblings : 2 cpu cores : 1
because both processors were in the same physical one.
Since when is it safe to read things the modern way (kernel version ?). Is there a better procedure to get this info ?
-- J.A. Magallon <jamagallon()ono!com> \ Winter is coming...
| |