Wie bekomme ich pro-CPU-Stats (System, Leerlauf, schön, ...) wie der "Top" -Befehl tut?

8

Unter Linux würde ich gerne wissen, welche "C" API aufgerufen werden muss, um die per-cpu Statistiken zu erhalten.

Ich weiß und könnte /proc/loadavg in meiner App lesen, aber dies sind die systemweiten Lastwerte, nicht die pro-CPU-Informationen. Ich möchte die einzelnen CPUs oder Cores auseinander halten.

Als Beispiel für eine Anwendung, die das tut: Wenn ich top starte und "1" drücke, sehe ich die 4 oder 8 Prozessoren / Kerne wie folgt:

%Vor%

Ich habe versucht, strace top , aber das führte zu einem Rattennest.

    
Stéphane 23.01.2010, 10:07
quelle

3 Antworten

6

Die gewünschte Datei ist /proc/stat . (Sie können in der Linux-Kernel-Quelle auf fs/proc/stat.c verweisen.)

    
Matthew Slattery 24.01.2010, 20:14
quelle
2

Das ist keine echte Antwort, aber ich würde mir den Quellcode von top ansehen.

    
Job 23.01.2010 12:54
quelle
0

Ich denke, Kernel-Datei timer.c kann in diesem Szenario von einiger Bedeutung sein, um die Lastmittelwerte zu berechnen. Aus der Datei timer.c Funktion calc_load ()

%Vor%     
manav m-n 23.01.2010 18:04
quelle

Tags und Links