Pro-Linux.de

Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 19. Nov 2018 23:25

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Anzahl der Prozessorkerne ermitteln
BeitragVerfasst: 12. Aug 2008 6:08 
Offline

Registriert: 18. Nov 2005 12:22
Beiträge: 13
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


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 12. Aug 2008 9:19 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Bitteschön: "cat /proc/cpuinfo"
Das einlesen, parsen (total simpel), fertig.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 12. Aug 2008 10:53 
Offline
Pro-Linux
Benutzeravatar

Registriert: 15. Aug 1999 16:59
Beiträge: 3237
Wohnort: Bruchsal
Hi!

Besser noch wäre wahrscheinlich /sys/devices/system/cpu, wo es auch Info über Topologie und Cache-Zuordnung gibt.

Zu den meisten /proc-Dateien gibt es mittlerweile ein besseres und stabileres Pendant in /sys.

Grüße,
hjb

_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 12. Aug 2008 11:27 
Offline

Registriert: 18. Nov 2005 12:22
Beiträge: 13
Das werde ich heute abend gleich mal ausprobieren.

Und danke für die prompten Antworten.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 12. Aug 2008 19:50 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Zitat:
Hi!
Besser noch wäre wahrscheinlich /sys/devices/system/cpu, wo es auch Info über Topologie und Cache-Zuordnung gibt.
Code:
$ 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
Ok, ich bekomme da andere Informationen. Ob bessere, wag ich mal zu bezweifeln.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13. Aug 2008 5:56 
Offline

Registriert: 18. Nov 2005 12:22
Beiträge: 13
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.


Nach oben
   
 Betreff des Beitrags: übermorgen
BeitragVerfasst: 13. Aug 2008 17:57 
Moin,

aber bei 10 Prozessoren geht dies dann nicht mehr ;-)

Aber damit:
ls -1 /sys/devices/system/cpu|grep [0-9]|wc -l


bye


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 27. Aug 2008 7:38 
Offline
prolinux-forum-admin
Benutzeravatar

Registriert: 14. Jan 2000 15:37
Beiträge: 699
Wohnort: Jülich
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

_________________
Die grösste Lüge der EDV? "Mal eben..."


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de