Archiv verlassen und diese Seite im Standarddesign anzeigen : CPU Auslastung
Hallo gibt, es eine Möglichkeit, mit c die CPU Auslastung auszulesen?
Grüsse
BlauerBlitz
08-03-2007, 06:38
Hallo!
Für Linux: :)
Du könntest /proc/loadavg auslesen. Die drei ersten Zahlenwerte sind zumindest für relative Vergleiche verwendbar.
man proc
[...]
loadavg
The load average numbers give the number of jobs in the run
queue (state R) or waiting for disk I/O (state D) averaged over
1, 5, and 15 minutes. They are the same as the load average
numbers given by uptime(1) and other programs.
[...]
cat /proc/loadavg
0.09 0.11 0.21 1/566 10980
MfG
Werner
peschmae
08-03-2007, 07:02
Das ist aber, wie da schon steht, der load average und nicht die cpu-belastung. Keine Ahnung wie du die kriegst - top schafft das auch irgendwie. Musst wohl dort mal gucken was das genau macht. ;)
MfG Peschmä
Hi,
so welche Informationen gibt es unter /proc/stat.
Dort sind hinter dem cpu Namen ('cpu' ist die Summe aller CPUs, sonst 'cpu0' 'cpu1' usw.) einige Zahlen. Diese Zahlen zeigen an, wie viele Systemticks die CPU in welchem Zustand verbracht hat
Wichtig für dich sind die ersten 4.
1. = user
2. = nice
3. = system
4. = idle
Die Summe aller Zahlen sind die insgesamt vergangenen Systemticks. Daraus lässt sich nun errechnen, wie viel Zeit dein System in welchem Zustand verbracht hat.
Brauchst du nur die Auslastung der letzten Sekunde, so musst du die Werte am Anfang des Zeitintervalls abfragen und am Ende und dann mit der Differenz arbeiten.
Gruß
almoeli
anda_skoa
09-03-2007, 15:12
Meiner Meinung nach ist es am zielführensden, wenn man sich einfach den Code eines der vielen Systemmonitoren ansicht, oder bei kompatibler Lizenz gleich kopiert.
Nachdem es hier um C geht, sollte gkrellm eine gute Wahl sein.
Ciao,
_
Soviel ich gehoert habe wollen die Kernel-Entwickler das ganze /proc Verzeichnis irgendwie umkrempeln oder vollkommen entfernen.
Ist deshalb nicht wirklich sinnvoll auf die Infos unter /proc zuzugreifen, auch wenn mir im Moment keine andere Loesung einfaellt.
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.