Forum: PC Hard- und Software linux: Anzahl der CPU's ermitteln


von daniel (Gast)


Lesenswert?

uname -a liefert mir unter anderem ..
=> SMP Wed May 3 04:53:23 UTC 2006 x86_64 x86_64 x86_64 GNU/Linux

heisst das auch, dass 3 CPU Kerne im System sind?
bestätigt wird das unter anderem auch durch

for i in $(ps -e | awk '{print $1}'); do taskset -p $i; done

...
pid 13's current affinity mask: 1
pid 14's current affinity mask: 2
pid 15's current affinity mask: 3
...


oder gibt es noch andere möglichkeit anzahl der cpu's herauszufinden?

grüsse, daniel

von Nico E. (masta79)


Lesenswert?

schau mal in /proc/cpuinfo

von daniel (Gast)


Lesenswert?

AMD Athlon(tm)64 X2 Dual Core Processor  3800+

es sind 2
hmm, seltsam das taskset pid's findet, die scheinbar cpu3 zugewiesen 
sind

von Christian R. (supachris)


Lesenswert?

Ich schätze mal, dadurch dass es eine Bitmakte ist, wird es so sein:

Mask = 0 -> Keine CPU, naja sinnlos
Mask = 1 -> Nur CPU 0
Mask = 2 -> Nur CPU 1
Mask = 3 -> Beide CPUs erlaubt.

Ich meine mich zu erinnern, dass man das so unter Windows auch 
einstellen konnte. Jedes Bit für eine logische/physikalische CPU.

von daniel (Gast)


Lesenswert?

ja könnte sein, ich habe gerade an einem kleinen programm
die system calls ausprobiert
http://ibm5.ma.utexas.edu/cgi-bin/man-cgi?sched_setaffinity+2

interessant ist warum uname x86_64 3 mal auflistet.

von ... (Gast)


Lesenswert?

Hi,

> interessant ist warum uname x86_64 3 mal auflistet.

Ganz einfach weil das absolut nichts mit der Anzahl der CPUs/Kerne im 
System zu tun hat!
Die selbe Ausgabe erreicht man mit "uname -m -p -i". Das erste ist der 
'machine hardware name', das zweite der 'processor type' und das dritte 
die 'hardware platform'.

BTW. "uname --help" oder "man uname" wirkt Wunder.

CU

von Stefan P. (form)


Lesenswert?

Also falls es immer noch um die Überschrift geht, probier doch mal 
folgendes aus:

1
grep family /proc/cpuinfo | wc -l

Der Befehl gibt eine Zahl zurück, die die Anzahl der im System 
installierten CPUs repräsentiert.

----

Du kannst auch das Programm "top" aufrufen und dort die Taste "1" 
drücken. Dann erscheinen pro CPU eine Zeile mit Statusinformationen.

von Sven P. (Gast)


Lesenswert?

/sys/devices/system/cpu

von peter r. (Gast)


Lesenswert?

wie kann ich aber sauber zwischen CPUs, Core und multithreading 
unterscheiden?

von Εrnst B. (ernst)


Lesenswert?

peter r. schrieb:
> wie kann ich aber sauber zwischen CPUs, Core und multithreading
unterscheiden?

Schau dir das oben von haku genannte verzeichnis einfach mal genauer an.

Für jede CPU ein unterverzeichnis, darunter gibts dann im "topology" 
genauere Infos.

von spthl01 (Gast)


Lesenswert?

Hallo,

auf einer physikalischen Maschine sieht der command folgender massen aus 
:

less /proc/cpuinfo |grep -i "physical id" |uniq -c

In meinem Fall : 8 CPU's a 10 Cores ...

byha21:~/bin # less /proc/cpuinfo |grep -i "physical id" |uniq -c
     10 physical id     : 0
     10 physical id     : 1
     10 physical id     : 2
     10 physical id     : 3
     10 physical id     : 4
     10 physical id     : 5
     10 physical id     : 6
     10 physical id     : 7
     10 physical id     : 0
     10 physical id     : 1
     10 physical id     : 2
     10 physical id     : 3
     10 physical id     : 4
     10 physical id     : 5
     10 physical id     : 6
     10 physical id     : 7
...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.