READPROFILE(8) System-Administration READPROFILE(8) BEZEICHNUNG readprofile - Profilbildungs-Informationen des Kernels lesen UBERSICHT readprofile [Optionen] VERSION Diese Handbuchseite dokumentiert Version 2.0 des Programms. BESCHREIBUNG Der Befehl readprofile verwendet die Informationen in /proc/profile zum Ausgeben von ASCII-Daten auf der Standardausgabe. Die Ausgabe ist in drei Spalten geordnet: die erste bezeichnet die Anzahl der Clock-Ticks, die zweite den Namen der C-Funktion im Kernel, in der diese Anzahl Ticks auftrat und die dritte ist die normalisierte >>Last<< der Prozedur, berechnet als Verhaltnis zwischen der Anzahl der Ticks und der Lange der Prozedur. Die Ausgabe wird mit Leerzeichen aufgefullt, um die Lesbarkeit zu verbessern. OPTIONEN -a, --all gibt alle Symbole in der Map-Datei aus. Per Vorgabe werden die Prozeduren nicht ausgegeben, fur die 0 Ticks gemeldet wurden. -b, --histbin gibt individuelle Anzahlen fur die Histogrammskalierung aus. -i, --info aktiviert die reine Info-Ausgabe. Dies veranlasst readprofile, nur die vom Kernel verwendete Profilbildungs-Schrittweite auszugeben. Diese Schrittweite ist die Auflosung des Profilbildungs-Puffers und wird wahrend der Kernel-Konfiguration gewahlt (mit make config) oder in der Befehlszeile des Kernels. Falls das Argument -t (terse) zusammen mit -i verwendet wird, dann wird nur die Dezimalzahl ausgegeben. -m, --mapfile Map-Datei gibt eine Map-Datei an, Vorgabe ist /usr/src/linux/System.map. Sie sollten die Map-Datei in der Befehlszeile angeben, falls Ihr aktueller Kernel nicht derjenige ist, den Sie zuletzt kompiliert haben, oder die Datei System.map an einem anderen Ort gespeichert ist. Falls der Name der Map-Datei mit >>.gz<< endet, wird diese unmittelbar entpackt. -M, --multiplier Multiplikator Auf einigen Architekturen ist es moglich, die Frequenz der Profilbildungs-Interrupts zu andern, die der Kernel an jede CPU liefert. Diese Option erlaubt das Festlegen der Frequenz als Multiplikator der Frequenz der Systemuhr in Hz. Unter Linux 2.6.16 wurde die Unterstutzung von Multiplikatoren fur die meisten Systeme entfernt. Diese Option setzt auch den Profilbildungs-Puffer zuruck, was Administratorrechte erfordert. -p, --profile Pro-Datei gibt einen alternativen Profilbildungs-Puffer an, Vorgabe ist /proc/profile. Die Verwendung einer alternativen Datei ist sinnvoll, wenn Sie die Kernel-Profilbildung an einem bestimmten Punkt >>einfrieren<< und spater lesen wollen. Die Datei /proc/profile kann mit cat(1) oder cp(1) kopiert werden. Komprimierte Profilbildungs-Puffer werden nicht mehr unterstutzt, wie dies in readprofile-1.1 noch der Fall war, da das Programm vorher die Grosse des Puffers kennen muss. -r, --reset setzt den Profilbildungs-Puffer zuruck. Dies kann nur mit Administratorrechten aufgerufen werden, da /proc/profile durch alle Benutzer gelesen werden kann, aber nur der Administrator uber Schreibrechte dafur verfugt. Dennoch konnen Sie readprofile set-user-ID 0 machen, um den Puffer zurucksetzen, ohne Privilegien dafur zu erlangen. -s, --counters gibt individuelle Zahler in Funktionen aus. -v, --verbose aktiviert die ausfuhrliche Ausgabe. Diese wird in vier Spalten geordnet und mit Leerzeichen gefullt. Die erste Spalte enthalt die RAM-Adressen einer Kernel-Funktion, die zweite den Namen der Funktion, die dritte die Anzahl der Clock-Ticks und die letzte die normalisierte Last. -h, --help zeigt einen Hilfetext an und beendet das Programm. -V, --version Display version and exit. DATEIEN /proc/profile Ein binarer Schnappschuss des Profilbildungs-Puffers. /usr/src/linux/System.map Die Symboltabelle fur den Kernel. /usr/src/linux/* Das zu untersuchende Programm :-) FEHLER readprofile funktioniert nur mit Kernels der Version 1.3.x oder neuer, da /proc/profile beim Versionssprung von 1.2 auf 1.3 geandert wurde. Dieses Programm funktioniert nur mit ELF-Kernels. Die Anderung fur a.out-Kernels ist trivial und muss von dem Benutzer von a.out vorgenommen werden. Um die Profilbildung zu ermoglichen, muss der Kernel neu gebootet werden, da kein Profilbildungs-Modul verfugbar ist und dies nicht leicht zu bauen ist. Fur die Aktivierung geben Sie profile=2 (oder eine andere Zahl) in der Befehlszeile des Kernels an. Die angegebene Zahl ist der Exponent zur Basis 2, der als Profilbildungs-Schrittweite verwendet wird. Die Profilbildung wird deaktiviert, wenn Interrupts gehemmt sind. Das bedeutet, dass viele Profilbildungs-Informations-Ticks wieder erscheinen, wenn die Interrupts wieder aktiviert werden. Achten Sie auf solche irrefuhrenden Informationen. BEISPIEL So durchsuchen Sie den Profilbildungs-Puffer, geordnet nach Clock-Ticks: readprofile | sort -nr | less So zeigen Sie die 20 am haufigsten geladenen Prozeduren an: readprofile | sort -nr +2 | head -20 So wird nur das Dateisystemprofil ausgegeben: readprofile | grep _ext2 So zeigen Sie alle Kernel-Informationen einschliesslich Speicheradressen an: readprofile -av | less So durchsuchen Sie einen >>eingefrorenen<< Profilbildungs-Puffer fur einen derzeit nicht aktiven Kernel: readprofile -p ~/profile.freeze -m /zImage.map.gz So starten Sie die Profilbildung mit 2kHz pro CPU und setzen den Profilbildungs-Puffer zuruck: sudo readprofile -M 20 FEHLER MELDEN For bug reports, use the issue tracker . VERFUGBARKEIT Der Befehl readprofile ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv heruntergeladen werden kann. util-linux 2.41 2025-03-29 READPROFILE(8)