Anzahl der Prozessoren rausfinden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Anzahl der Prozessoren rausfinden

Beitragvon Rebecca » Freitag 3. Februar 2006, 15:08

Moin!

Unter *nix -Systemen kann ich die Anzahl der Prozessoren ueber /proc/cpuinfo rausfinden. Aber gibt es auch eine Python-Funktion dafuer? Ich habe nix gefunden... :-(

Gruss,
Rebecca
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Freitag 3. Februar 2006, 16:01

Hi Rebecca!

Ich glaube nicht, dass es dafür eine eigene Funktion in Python gibt. Lies einfach "/proc/cpuinfo" aus. :P

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Beitragvon modelnine » Freitag 3. Februar 2006, 23:02

Code: Alles auswählen

cpus = 0
for l in file("/proc/cpuinfo"):
    if not l.strip(): cpus += 1


Das sollte unter allen Linux-artigen Systemen laufen (unabhängig von der Architektur). Unter anderen Systemen ist das sicherlich auch machbar, nur kann man sich bei denen sicherlich nicht drauf verlassen dass /proc/cpuinfo genausoviele Leerzeilen enthält wie es CPUs gibt.

--- Heiko.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Dienstag 25. April 2006, 09:55

Mmh, ich dachte immer, eine /proc/cpuinfo gibt's auf den meisten *nix-Systemen, aber sie scheint nur auf Linuxen zu existieren. :shock:

Sowas bloedes...
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Beitragvon modelnine » Dienstag 25. April 2006, 11:24

Mmh, ich dachte immer, eine /proc/cpuinfo gibt's auf den meisten *nix-Systemen, aber sie scheint nur auf Linuxen zu existieren.


Jupp. Die Spezifikation von /proc ist zwischen Systemen nicht konsistent, meißtens sogar zwischen Hauptversionen von Linux nicht (zum Beispiel kamen zwischen 2.2 und 2.4 ziemlich viele Felder in /proc/net/* dazu). Im Normalfall gibts aber was ähnliches; sonst, vielleicht liefert die entsprechende Information auch uname, die Ausgabe von dem Befehl zu parsen sollte kein Problem sein.
--- Heiko.
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Dienstag 25. April 2006, 15:20

Ansonsten kommt man auch mit HAL an die Infos:

Code: Alles auswählen

import dbus

bus = dbus.SystemBus()
obj = bus.get_object('org.freedesktop.Hal', '/org/freedesktop/Hal/Manager')
manager = dbus.Interface(obj, 'org.freedesktop.Hal.Manager')
processors = manager.FindDeviceByCapability('processor')

print 'Anzahl der Prozessoren: %d' % len(processors)


Sollte auf allen Systemen mit aktuellem HAL und dbus laufen.
TUFKAB – the user formerly known as blackbird

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder