Ein Programm das ich gerade anfange zu schreiben, soll sowohl die
Anzahl der Prozessoren, wie auch die Anzahl der Prozessorkerne
eines Rechners ermittteln.
Wie macht man das ?
Ein Codeschnipsel (Sprache egal) wäre hilfreich.
Danke
Anzahl der Prozessorkerne ermitteln
hjb hat geschrieben:Hi!
Besser noch wäre wahrscheinlich /sys/devices/system/cpu, wo es auch Info über Topologie und Cache-Zuordnung gibt.
Code: Alles auswählen
$ find /sys/devices/system/cpu
/sys/devices/system/cpu/
/sys/devices/system/cpu/cpu0
/sys/devices/system/cpu/cpu0/crash_notes
/sys/devices/system/cpu/cpu0/cache
/sys/devices/system/cpu/cpu0/cache/index0
/sys/devices/system/cpu/cpu0/cache/index0/type
/sys/devices/system/cpu/cpu0/cache/index0/level
/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size
/sys/devices/system/cpu/cpu0/cache/index0/physical_line_partition
/sys/devices/system/cpu/cpu0/cache/index0/ways_of_associativity
/sys/devices/system/cpu/cpu0/cache/index0/number_of_sets
/sys/devices/system/cpu/cpu0/cache/index0/size
/sys/devices/system/cpu/cpu0/cache/index0/shared_cpu_map
/sys/devices/system/cpu/cpu0/cache/index1
/sys/devices/system/cpu/cpu0/cache/index1/type
/sys/devices/system/cpu/cpu0/cache/index1/level
/sys/devices/system/cpu/cpu0/cache/index1/coherency_line_size
/sys/devices/system/cpu/cpu0/cache/index1/physical_line_partition
/sys/devices/system/cpu/cpu0/cache/index1/ways_of_associativity
/sys/devices/system/cpu/cpu0/cache/index1/number_of_sets
/sys/devices/system/cpu/cpu0/cache/index1/size
/sys/devices/system/cpu/cpu0/cache/index1/shared_cpu_map
/sys/devices/system/cpu/cpu0/cache/index2
/sys/devices/system/cpu/cpu0/cache/index2/type
/sys/devices/system/cpu/cpu0/cache/index2/level
/sys/devices/system/cpu/cpu0/cache/index2/coherency_line_size
/sys/devices/system/cpu/cpu0/cache/index2/physical_line_partition
/sys/devices/system/cpu/cpu0/cache/index2/ways_of_associativity
/sys/devices/system/cpu/cpu0/cache/index2/number_of_sets
/sys/devices/system/cpu/cpu0/cache/index2/size
/sys/devices/system/cpu/cpu0/cache/index2/shared_cpu_map
Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
Ich mag die Schreie.
Ich habe mich jetzt für diese Methode entschieden, die mir für meine
Zwecke am sinnvollsten erscheint.
ls /sys/devices/system/cpu/cpu? -dw1|wc -l>cores
btw.
Bei mir steht dort cpu0 bis cpu3 drin.
Was bei eiiner Quadcore-CPU (die mein Rechner hat) auch richtig wäre.
Wenn man unterstellt, dass jedes dieser Verzeichnisse cpu(x) einen
Prozessorkern repräsentiert.
Zwecke am sinnvollsten erscheint.
ls /sys/devices/system/cpu/cpu? -dw1|wc -l>cores
btw.
Bei mir steht dort cpu0 bis cpu3 drin.
Was bei eiiner Quadcore-CPU (die mein Rechner hat) auch richtig wäre.
Wenn man unterstellt, dass jedes dieser Verzeichnisse cpu(x) einen
Prozessorkern repräsentiert.
übermorgen
Moin,
aber bei 10 Prozessoren geht dies dann nicht mehr
Aber damit:
ls -1 /sys/devices/system/cpu|grep [0-9]|wc -l
bye
aber bei 10 Prozessoren geht dies dann nicht mehr

Aber damit:
ls -1 /sys/devices/system/cpu|grep [0-9]|wc -l
bye
- jochen
- prolinux-forum-admin
- Beiträge: 699
- Registriert: 14. Jan 2000 15:37
- Wohnort: Jülich
- Kontaktdaten:
Schau mal in diesen RH-Knowledgebase-Artikel hier: -> http://kbase.redhat.com/faq/FAQ_46_10715.shtm
Der erläutert m.E. sehr schön, wie der Kernel zwischen Hyperthreading, Cores und Prozessoren (als physische Einheit/Baustein) unterscheidet. Mit den dortigen Infos kann man exakt unterscheiden, ob man beispielsweise 2 Cores in einem Prozessorgehäuse oder 2 Prozessorgehäuse mit jeweils einem Core hat.
Viel Spass beim Auseinanderfitzeln der Daten,
Jochen
Der erläutert m.E. sehr schön, wie der Kernel zwischen Hyperthreading, Cores und Prozessoren (als physische Einheit/Baustein) unterscheidet. Mit den dortigen Infos kann man exakt unterscheiden, ob man beispielsweise 2 Cores in einem Prozessorgehäuse oder 2 Prozessorgehäuse mit jeweils einem Core hat.
Viel Spass beim Auseinanderfitzeln der Daten,
Jochen
Die grösste Lüge der EDV? "Mal eben..."