Anzahl der Prozessoren rausfinden



  • Hy
    ich möchte gerne in meinem Programm rausfinden wie viele Cpu´s im System installiert sind, auf dem es läuft.
    Da gibt es da doch bestimmt ein Unix-function für?

    Weis jemand wie das geht????



  • hi!

    ich kann dir zwar nicht genau sagen wo, aber irgendwo im /proc - Verzeichnis sollte das zu finden sein 🙂



  • /proc/cpuinfo
    Dort ist für jeden Prozessor eine Zusammenfassung vorhanden.



  • /proc ist aber Betriebssystemabhängig!



  • kingruedi schrieb:

    /proc ist aber Betriebssystemabhängig!

    erläutere mir das mal bitte, denn bis jetzt hatte ich den eindruck, dass /proc immer gleich arbeitet.

    mfg



  • Zu schnell....



  • terraner schrieb:

    erläutere mir das mal bitte, denn bis jetzt hatte ich den eindruck, dass /proc immer gleich arbeitet.

    Nein, /proc ist verdammt Linux-spezifisch.

    stud4 37: uname -a
    HP-UX stud4 B.11.11 U 9000/800 175901537 unlimited-user license
    stud4 38: ls /proc
    /proc not found
    stud4 39: ls /sys
    /sys not found
    stud4 40:
    

    Mit allzu unbedachten /proc-Spielereien outet man sich genauso schnell als ahnungloser Nur-Linuxer wie mit Shellscripten, die nicht wissen, dass bash keine sh ist. 😉



  • Erstmal Danke
    Allerdings wollte ich ein Befehl haben, der mir die Anzahl der Prozessoren zurückliefert.
    Möchte das in einem C-Programm verwenden.
    Weil ich anhand der Anzahl der vorhandenen Prozessoren abhängig machen will wie viele Threads ich starte.

    Da muss doch POSIX was hergeben....



  • mcRene schrieb:

    Möchte das in einem C-Programm verwenden.
    Weil ich anhand der Anzahl der vorhandenen Prozessoren abhängig machen will wie viele Threads ich starte.

    Lass das am besten einfach den User in der ~/.deinprogrammrc bzw /etc/deinprogramm.conf oä einstellen, das ist die portabelste und auch vielseitigste Lösung.

    Da muss doch POSIX was hergeben....

    Nope, tut es nicht, die Gründe dafür werden hier erläutert: http://ndevilla.free.fr/threads/butenhof.txt
    Vielleicht möchtest Du Dir auch mal das hier durchlesen, das könnte interessant für Dich sein.



  • nman schrieb:

    Nein, /proc ist verdammt Linux-spezifisch.

    *bonk*
    betriebssystemspezifisch != distributionsspezifisch

    mfg



  • 😕 😕 😕

    Hat etwa jemand das Gegenteil behauptet?



  • nman schrieb:

    Mit allzu unbedachten /proc-Spielereien outet man sich genauso schnell als ahnungloser Nur-Linuxer wie mit Shellscripten, die nicht wissen, dass bash keine sh ist. 😉

    so, ich out mich dann mal als nur-Linuxer: was meinst du mit "bash ist keine sh" ?



  • terraner schrieb:

    nman schrieb:

    Nein, /proc ist verdammt Linux-spezifisch.

    betriebssystemspezifisch != distributionsspezifisch

    Hä? 😕

    Lass mich rekapitulieren:

    kingruedi schrieb:

    /proc ist aber Betriebssystemabhängig!

    terraner schrieb:

    erläutere mir das mal bitte, denn bis jetzt hatte ich den eindruck, dass /proc immer gleich arbeitet.

    nman schrieb:

    Nein, /proc ist verdammt Linux-spezifisch.

    terraner schrieb:

    betriebssystemspezifisch != distributionsspezifisch



  • Blue-Tiger schrieb:

    so, ich out mich dann mal als nur-Linuxer: was meinst du mit "bash ist keine sh" ?

    Dass es verdammt viele Leute da draußen gibt, die glauben, dass /bin/sh sowieso auf /bin/bash zeigt und darum in ihren Shellscripts einfach #!/bin/sh schreiben, wenn sie eigentlich #!/bin/bash meinen.

    Kann recht unangenehm werden, wenn man (wie ich) als bourne-kompatible Shell was schlankeres wie zb ash verwendet.
    BSDler freuen sich über sowas naturgemäß auch immer besonders... 😉



  • nman schrieb:

    Hä? 😕

    ich hatte vorher gedacht, dass mit "betriebssystem" die verschiedenen linux-distris gemeint seien und mich deshalb über kindruedis aussage gewundert.
    kleiner denk-aussetzer.

    mfg



  • terraner schrieb:

    nman schrieb:

    Hä? 😕

    ich hatte vorher gedacht, dass mit "betriebssystem" die verschiedenen linux-distris gemeint seien und mich deshalb über kindruedis aussage gewundert.
    kleiner denk-aussetzer.

    Aber selbst da unterscheidet sich /proc ja, da es von der Kernel-Version abhängig ist :p


Anmelden zum Antworten