PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Prozesslast detailiert überwachen???



7.e.Q
28-02-2006, 09:27
Hi,

gibt es eine Möglichkeit, die Prozessorlast eines Prozesses bis hinunter auf Funktionsebene zu überwachen? Anders ausgedrückt: kann man irgendwie anzeigen, welche Funktion wieviel Last produziert?

Ich muss dringendst herausfinden, welcher periodische Funktionsaufruf eines Treibers eine Systemlast von >50% generiert.

Danke!!!

Gruß,
Hendrik

Caveman
28-02-2006, 09:29
unter Linux: top

7.e.Q
28-02-2006, 10:53
Kann mir Top wirklich die lasterzeugende Funktion innerhalb eines Programms anzeigen?

Caveman
28-02-2006, 11:05
Wenn's ein eigener Prozess ist schon.

Hast Du den Quellcode?
Dann könntest Du diese Funktion in ein eigenes Programm auslagern und dann dieses neue Programm mit der Funktion überwachen.

Ansonsten weiß ich im Moment leider keine Lösung.

7.e.Q
28-02-2006, 11:40
Ich habe Zugriff auf den Quellcode, jedoch weiß ich nicht, welche Funktion die Last macht. Das gilt es ja gerade herauszufinden. Ich kann ja schlecht jede Funktion in einen eigenen Child-Prozess ausgliedern. Was das für ein Aufwand an IPC wäre, kannst du dir ja vorstellen... Nee, das ist kein effektiver Weg.

Weiß denn jemand anderes eine gangbare Lösung?

BLUESCREEN3D
28-02-2006, 13:35
Hilft dir vllt. "gprof"?

7.e.Q
23-03-2006, 10:29
Nicht in Verbindung mit Kernel Modulen. Und selbst wenn, so ist es mit einem enormen Aufwand verbunden, unsere Compiler mit gprof Funktionalität zu versehen, da es sich dabei um unter Windows laufende Cross Compiler handelt... Ich weiß, von hinten durch die Brust ins linke Auge.

Joghurt
26-03-2006, 14:10
Hilft das?
http://oprofile.sourceforge.net/