Manpages

BEZEICHNUNG

profil − führt ein Zeitprofil aus

ÜBERSICHT

#include <unistd.h>

int profil(char *buf, int bufsiz, int offset, int scale);

BESCHREIBUNG

Unter Linux 0.99.11 ist profil nicht im Kernel implementiert. Stattdessen bieten die DLL 4.4.1 eine Implementation im User-Space.

Buf zeigt auf bufsiz bytes des Kernels. Alle virtuelle 10 Millisekunden wird der Programmzähler (PC) des Benutzers überprüft. Offset wird abgezogen und das Ergebnis wird mit scale mulipliziert. Wenn diese Adresse in buf liegt, dann wird die darauf zeigende Variable hochgezählt.

Wenn scale kleiner als 2 ist oder bufsiz gleich 0 ist, wird profiling verboten.

RÜCKGABEWERT

Null wird immer zurückgegeben.

FEHLER

Profil kann nicht in einem Programm benutzt werden, das auch ITIMER_PROF itimer benutzt.

Wird profil mit einem ungültigen buf aufgerufen, erzeugt es ein core dump.

Echtes Kernelprofiling erzeugt genauere Resultate.

SIEHE AUCH

gprof(1), setitimer(2), signal(2), sigaction(2).