# of processors
Mark L. Chang
mlchang at u.washington.edu
Mon Jan 20 21:06:05 PST 2003
#include <unistd.h>
#include <stdio.h>
main()
{
printf("%d\n", sysconf(_SC_NPROCESSORS_CONF));
}
On Mon, Jan 20, 2003 at 08:42:11PM -0800 or thereabouts, Robin Battey wrote:
> Don't quote me on this, as it's been a while since I've looked at
> /proc/cpuinfo on a dual proc system, but I believe that there is a blank
> line between processor listings, and at the end (making it one per
> processor). Perhaps counting those would be more universal.
>
> On another note: different architectures have different handlers for the
> /proc/cpuinfo hook. The differences can be found in the function
> get_cpuinfo in the file linux/arch/<whatever>/kernel/setup.c, which is
> what handles the output of a read on /proc/cpuinfo. There is really no
> reason for these to be similar across architectures, nothing really relies
> on them except for us humans.
>
> Cheers!
> -robin
>
> P.S. my output, just to add to the merriness (yeah, it's an old box):
>
> [zanfur at sephiroth zanfur]$ more /proc/cpuinfo
> processor : 0
> vendor_id : GenuineIntel
> cpu family : 4
> model : 3
> model name : 486 DX/2
> stepping : 5
> fdiv_bug : no
> hlt_bug : no
> f00f_bug : no
> coma_bug : no
> fpu : yes
> fpu_exception : yes
> cpuid level : 1
> wp : yes
> flags : fpu vme
> bogomips : 33.17
>
> [zanfur at sephiroth zanfur]$
>
> On Mon, Jan 20, 2003 at 06:23:27PM -0800, Kolbe Kegel wrote:
> > I'm very interested to know why your output is so different from mine.
> > Perhaps it has to do simply with the fact that you're using ppc instead
> > of x86. My system has many more fields than does yours, and in fact the
> > only field in common is "bogomips". Attempting to grep ^cpu on my
> > machine would match "cpu MHz", "cpu family", and "cpuid level" for a
> > count of 3. That is clearly not the result that we're looking for! This
> > is quite an interesting discrepancy actually, you would think that there
> > would be some attempt at standardization of this information. It's also
> > interesting that your cpuinfo includes information on the motherboard
> > and the amount of RAM in your machine. Those things seem almost
> > completely unrelated to "cpu info".
> >
> > processor : 0
> > vendor_id : AuthenticAMD
> > cpu family : 6
> > model : 4
> > model name : AMD Athlon(tm) Processor
> > stepping : 2
> > cpu MHz : 706.289
> > cache size : 256 KB
> > fdiv_bug : no
> > hlt_bug : no
> > f00f_bug : no
> > coma_bug : no
> > fpu : yes
> > fpu_exception : yes
> > cpuid level : 1
> > wp : yes
> > flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca
> > cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow
> > bogomips : 1388.54
> >
> >
> > Phillip Garland escribió::
> >
> > >cat /proc/cpuinfo gives:
> > >
> > >cpu : 740/750
> > >temperature : 53-57 C (uncalibrated)
> > >clock : 233MHz
> > >revision : 2.2 (pvr 0008 0202)
> > >bogomips : 465.30
> > >machine : iMac,1
> > >motherboard : iMac MacRISC Power Macintosh
> > >L2 cache : 512K unified
> > >memory : 96MB
> > >pmac-generation : NewWorld
> > >
> > >so I'm guessing the equivalent command is:
> > >
> > >cat /proc/cpuinfo | egrep ^cpu | wc -l
> > >
> > >which gives "1", as it should. I don't have a MP box or the kernel source around right now, so I don't for sure that this is correct. Ideally there should be a way to do this that is portable across architectures and recent kernel versions, but don't know what it is.
> > >
> > >~Phillip
> > >
> > >On Mon, 20 Jan 2003, Kolbe Kegel wrote:
> > >
> > >
> > >
> > >>well what does the output of 'cat /proc/cpuinfo' look like?
> > >>
> > >>and that's not ancient... if it works and you don't need the latest,
> > >>latest feature, why upgrade? people are still using 2.2! (i use it on my
> > >>router.)
> > >>
> > >>--kolbe
> > >>
> > >>Phillip Garland escribió::
> > >>
> > >>
> > >>
> > >>>This seems not to work across all architectures or kernel versions. On my ppc box running Linux 2.4.16 (Yes, I know it's ancient, but it's worked better for me than more recent kernels), this gives 0.
> > >>>
> > >>>~Phillip
> > >>>
> > >>>
> > >>>On Mon, 20 Jan 2003, J. Hughes wrote:
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>>This should do the job:
> > >>>>
> > >>>>cat /proc/cpuinfo | egrep ^processor | wc -l
> > >>>>
> > >>>>On Mon, 20 Jan 2003, Scholz Matthew wrote:
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>>>Let us just say that I need to know how many
> > >>>>>processors a linux machine has using. Let us also say
> > >>>>>that I'm not sure exactly how to retrieve said
> > >>>>>information.
> > >>>>>
> > >>>>>Let us add for the sake of argument, that I would like
> > >>>>>a single command line argument which returns some
> > >>>>>useful sembalance of aforementioned processorial
> > >>>>>quantity.
> > >>>>>
> > >>>>>Is there such a beast?
> > >>>>>
> > >>>>>Thanx
> > >>>>>
> > >>>>>__________________________________________________
> > >>>>>Do you Yahoo!?
> > >>>>>Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> > >>>>>http://mailplus.yahoo.com
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>
> > >>
> > >
> > >
> > >
> > >
> > >
>
> --
> Robin Battey
>
> 90CF 2E8F 8A96 D0C0 09A2 9CFE C130 6CD4 6DC3 6DCF
> http://www.zanfur.com/zanfur.pub
--
www.mchang.org | www.acmelab.org | decss.zoy.org
More information about the Linux
mailing list