Update to r44577:
Finish the editorial edits for this chapter. Obtained from: The FreeBSD German Documentation Project
This commit is contained in:
parent
216e7ad2a5
commit
ee992bde9b
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=46764
1 changed files with 65 additions and 64 deletions
|
@ -10,7 +10,7 @@ that might make this chapter too large.
|
|||
The FreeBSD Documentation Project
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/books/handbook/dtrace/chapter.xml,v 1.4 2009/08/22 18:54:15 bcr Exp $
|
||||
basiert auf: r44565
|
||||
basiert auf: r44577
|
||||
-->
|
||||
<!-- XXXTR: Should probably put links and resources here. I'm
|
||||
nervous about this chapter as it may require a partial
|
||||
|
@ -213,7 +213,8 @@ that might make this chapter too large.
|
|||
übersetzen:</para>
|
||||
|
||||
<programlisting>options KDTRACE_HOOKS
|
||||
options DDB_CTF</programlisting>
|
||||
options DDB_CTF
|
||||
options DEBUG=-g</programlisting>
|
||||
|
||||
<para>Besitzer der AMD64-Architektur werden wahrscheinlich noch
|
||||
die folgende Zeile zur Kernelkonfigurationsdatei
|
||||
|
@ -228,22 +229,34 @@ options DDB_CTF</programlisting>
|
|||
|
||||
<para>Sobald &os; in den neuen Kernel gebootet oder die
|
||||
&dtrace;-Kernelmodule mittels <command>kldload
|
||||
dtraceall</command> geladen wurden, besitzt das System
|
||||
Unterstützung für die Korn-Shell. Dies wird benötigt, da die
|
||||
Sammlung von &dtrace;-Werkzeugen mehrere Dienstprogramme
|
||||
enthält, die in <command>ksh</command> implementiert sind.
|
||||
Vergewissern Sie sich, dass das Paket oder der Port
|
||||
<package>shells/ksh93</package> installiert ist. Es ist auch
|
||||
möglich, diese Werkzeuge unter <package>shells/pdksh</package>
|
||||
oder <package>shells/mksh</package> laufen zu lassen.</para>
|
||||
dtraceall</command> geladen wurden, benötigt das System
|
||||
Unterstützung für die Korn-Shell, da &dtrace; mehrere
|
||||
Dienstprogramme enthält, die in <command>ksh</command>
|
||||
implementiert sind. Vergewissern Sie sich, dass das Paket oder
|
||||
der Port <package>shells/ksh93</package> installiert ist. Es
|
||||
ist auch möglich, diese Werkzeuge unter
|
||||
<package>shells/pdksh</package> oder
|
||||
<package>shells/mksh</package> laufen zu lassen.</para>
|
||||
|
||||
<para>Zum Schluss sollten Sie noch den aktuellen
|
||||
&dtrace;-Werkzeugsatz beschaffen. &os; 10 enthält den
|
||||
&dtrace;-Werkzeugsatz in <filename>/usr/share/dtrace</filename>.
|
||||
Andernfalls können Sie den &dtrace;-Werkzeugsatz über das Paket
|
||||
oder den Port <filename
|
||||
role="package">sysutils/DTraceToolkit</filename>
|
||||
installieren.</para>
|
||||
&dtrace;-Werkzeugsatz beschaffen. Die &dtrace;-Werkzeugsammlung
|
||||
enthält gebrauchsfertige Skripte, um Systeminformationen zu
|
||||
sammeln. Es gibt Skripte zum Überprüfen von offenen Dateien,
|
||||
Speicher- und <acronym>CPU</acronym>-Gebrauch und noch viel
|
||||
mehr. &os; 10 installiert ein paar dieser Skripte in
|
||||
<filename>/usr/share/dtrace</filename>. Für andere
|
||||
&os;-Versionen oder um die volle &dtrace;-Werkzeugsammlung zu
|
||||
installieren, verwenden Sie den
|
||||
<package>sysutils/DTraceToolkit</package> Port oder das
|
||||
Paket.</para>
|
||||
|
||||
<note>
|
||||
<para>Die Skripte in <filename>/usr/share/dtrace</filename>
|
||||
wurden speziell für &os; portiert. Nicht alle Skripte
|
||||
in der &dtrace;-Werkzeugsammlung werden in &os; unverändert
|
||||
funktionieren und manche Skript benötigen einigen Aufwand,
|
||||
damit diese auf &os; funktionieren.</para>
|
||||
</note>
|
||||
|
||||
<para>Der &dtrace;-Werkzeugsatz beinhaltet viele Skripte in der
|
||||
speziellen Sprache von &dtrace;. Diese Sprache wird die
|
||||
|
@ -257,58 +270,46 @@ options DDB_CTF</programlisting>
|
|||
<sect1 xml:id="dtrace-using">
|
||||
<title>&dtrace; verwenden</title>
|
||||
|
||||
<para>&dtrace;-Skripte bestehen aus einer Liste von einer oder
|
||||
mehreren <firstterm>Sonden</firstterm> oder
|
||||
Instrumentationspunkten, an denen jede Sonde mit einer Aktion
|
||||
verknüpft ist. Jedesmal, wenn die Bedingung für eine Sonde
|
||||
zutrifft, wird die verknüpfte Aktion ausgeführt. Beispielsweise
|
||||
könnte eine Aktion ausgeführt werden, wenn eine Datei geöffnet,
|
||||
ein Prozess gestartet oder eine Codezeile ausgeführt wird. Die
|
||||
Aktion könnte die Protokollierung von Informationen sein oder
|
||||
die Änderung von Kontextvariablen. Das Lesen und Schreiben von
|
||||
Kontextvariablen erlaubt es den Sonden, Informationen
|
||||
auszutauschen und kooperativ die Korrelation bestimmter
|
||||
Ereignisse zu analysieren.</para>
|
||||
|
||||
<para>Um alle Sonden anzuzeigen, kann der Administrator nun den
|
||||
folgenden Befehl eingeben:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>dtrace -l | more</userinput></screen>
|
||||
|
||||
<para>Die &dtrace;-Werkzeugsammlung enthält gebrauchsfertige
|
||||
Skripte, um Systeminformationen zu sammeln. Es gibt Skripte zum
|
||||
Überprüfen von offenen Dateien, Speicher- und
|
||||
<acronym>CPU</acronym>-Gebrauch und noch viel mehr. Entpacken
|
||||
Sie die Skripte mit dem folgenden Kommando:</para>
|
||||
<para>Jede Sonde besitzt eine <literal>ID</literal>, einen
|
||||
<literal>PROVIDER</literal> (dtrace oder fbt), ein
|
||||
<literal>MODULE</literal> und einen <literal>FUNCTION
|
||||
NAME</literal>. Lesen Sie für weitere Informationen zu diesem
|
||||
Kommando &man.dtrace.1;.</para>
|
||||
|
||||
<para>Der Werkzeugsatz ist eine Sammlung von vorgefertigten
|
||||
Skripten, die von &dtrace; ausgeführt werden können, um
|
||||
Systeminformationen zu sammeln. Es gibt Skripte, die offene
|
||||
Dateien überprüfen, den Speicher,
|
||||
<acronym>CPU</acronym>-Verbrauch und noch viel mehr. Entpacken
|
||||
Sie die Skripte mit dem folgenden Befehl:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>gunzip -c DTraceToolkit* | tar xvf -</userinput></screen>
|
||||
|
||||
<para>Wechseln Sie mit dem <command>cd</command>-Kommando in
|
||||
dieses Verzeichnis und ändern Sie die Berechtigung zum Ausführen
|
||||
von allen Dateien, deren Name klein geschrieben ist, auf
|
||||
<literal>755</literal>.</para>
|
||||
|
||||
<para>All diese Skripte müssen inhaltlich verändert werden.
|
||||
Diejenigen, die auf <filename>/usr/bin/ksh</filename> verweisen,
|
||||
müssen in <filename>/usr/local/bin/ksh</filename> geändert
|
||||
werden und die Anderen, welche <filename>/usr/bin/sh</filename>
|
||||
verwenden, müssen so angepasst werden, dass sie
|
||||
<filename>/bin/sh</filename> verwenden. Schliesslich müssen
|
||||
noch diejenigen, die <filename>/usr/bin/perl</filename>
|
||||
enthalten, auf <filename>/usr/local/bin/perl</filename>
|
||||
umgeschrieben werden.</para>
|
||||
|
||||
<para>Zum Zeitpunkt, an dem dieses Dokument geschrieben wurde,
|
||||
existieren nur zwei Skripte im &dtrace;-Werkzeugsatz, die von
|
||||
&os; komplett unterstützt werden: die Skripte
|
||||
<para>Die Beispiele in diesem Abschnitt geben einen Überblick, wie
|
||||
man zwei dieser voll funktionsfähigen Skripte aus der
|
||||
&dtrace;-Werkzeugsammlung verwendet: die Skripte
|
||||
<filename>hotkernel</filename> und
|
||||
<filename>procsystime</filename>. Diese beiden werden in den
|
||||
folgenden Teilen dieses Abschnitts genauer untersucht.</para>
|
||||
<filename>procsystime</filename>.</para>
|
||||
|
||||
<para><filename>hotkernel</filename> wurde entworfen, um zu
|
||||
identifizieren, welche Funktion die meiste Kernelzeit
|
||||
beansprucht. Normal ausgeführt, wird es Ausgaben ähnlich der
|
||||
Folgenden produzieren:</para>
|
||||
<para>Das <filename>hotkernel</filename> Skript wurde entworfen,
|
||||
um zu identifizieren, welche Funktion die meiste Kernelzeit
|
||||
beansprucht. Es wird es Ausgaben ähnlich der Folgenden
|
||||
produzieren:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/share/dtrace/toolkit</userinput>
|
||||
&prompt.root; <userinput>./hotkernel</userinput>
|
||||
Sampling... Hit Ctrl-C to end.</screen>
|
||||
|
||||
<para>Der Systemadministrator muss die Tastenkombination <keycombo
|
||||
<para>Verwenden Sie wie angegeben die Tastenkombination <keycombo
|
||||
action="simul"><keycap>Ctrl</keycap><keycap>C</keycap></keycombo>
|
||||
drücken, um den Prozess zu stoppen. Nach dem Abbruch wird das
|
||||
Skript eine Liste von Kernelfunktionen und Zeitmessungen
|
||||
|
@ -346,8 +347,8 @@ kernel`sched_idletd 137 0.3%
|
|||
how we should look that up. -->
|
||||
|
||||
<para>Dieses Skript funktioniert auch mit Kernelmodulen. Um diese
|
||||
Eigenschaft zu verwenden, starten Sie das Skript mit dem
|
||||
Parameter <option>-m</option>:</para>
|
||||
Eigenschaft zu verwenden, starten Sie das Skript mit
|
||||
<option>-m</option>:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>./hotkernel -m</userinput>
|
||||
Sampling... Hit Ctrl-C to end.
|
||||
|
@ -371,13 +372,13 @@ kernel 874 0.4%
|
|||
seriously obvious. It is 5AM btw. -->
|
||||
|
||||
<para>Das <filename>procsystime</filename> Skript fängt die
|
||||
Systemaufruf-Zeiten ab und zeigt diese für eine gegebene
|
||||
<acronym>PID</acronym> oder einen Prozessnamen an. Im folgenden
|
||||
Beispiel wurde eine neue Instanz von
|
||||
<filename>/bin/csh</filename> erzeugt.
|
||||
<filename>procsystime</filename> wurde ausgeführt und verbleibt
|
||||
so, während ein paar Befehle in die andere Instanz von
|
||||
<command>csh</command> eingegeben werden. Dies sind die
|
||||
Systemaufruf-Zeiten für eine gegebene
|
||||
Prozess-<acronym>ID</acronym> (<acronym>PID</acronym>) oder
|
||||
einen Prozessnamen ab und gibt diese aus. Im folgenden Beispiel
|
||||
wurde eine neue Instanz von <filename>/bin/csh</filename>
|
||||
erzeugt. Dann wurde <filename>procsystime</filename> ausgeführt
|
||||
und verbleibt so, während ein paar Befehle in die andere Instanz
|
||||
von <command>csh</command> eingegeben werden. Dies sind die
|
||||
Ergebnisse dieses Versuchs:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>./procsystime -n csh</userinput>
|
||||
|
|
Loading…
Reference in a new issue