Update to r44558:
Remove no longer needed warnings and update kernel DTrace for 10.X. Obtained from: The FreeBSD German Documentation Project
This commit is contained in:
parent
e60fd7dd69
commit
305711028c
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=46762
1 changed files with 59 additions and 76 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: r44465
|
||||
basiert auf: r44558
|
||||
-->
|
||||
<!-- XXXTR: Should probably put links and resources here. I'm
|
||||
nervous about this chapter as it may require a partial
|
||||
|
@ -56,9 +56,11 @@ that might make this chapter too large.
|
|||
|
||||
<para>&dtrace;, auch bekannt als Dynamic Tracing, wurde von &sun;
|
||||
als ein Werkzeug zur Analyse von Performance-Problemen in
|
||||
Produktiv- und Entwicklungssystemen entwickelt. Es ist kein
|
||||
Debugging-Werkzeug, sondern ein Hilfsmittel für
|
||||
Echtzeit-Systemanalysen.</para>
|
||||
Produktiv- und Entwicklungssystemen entwickelt. Zusätzlich zur
|
||||
Diagnose von Performance-Problemen kann &dtrace; auch verwendet
|
||||
werden, um bei der Untersuchung und Behebung von unerwartetem
|
||||
Verhalten im &os;-Kernel und den Anwenderprogrammen zu
|
||||
helfen.</para>
|
||||
|
||||
<para>&dtrace; ist ein bemerkenswertes Werkzeug zur
|
||||
Profilerstellung, mit einer beeindruckenden Palette von
|
||||
|
@ -69,6 +71,21 @@ that might make this chapter too large.
|
|||
Hilfsmittel schreiben, was es ermöglicht, die eigenen Profile
|
||||
nach Ihren Bedürfnissen anzupassen.</para>
|
||||
|
||||
<para>Die &dtrace;-Implementierung in &os; bietet experimentelle
|
||||
Unterstützung für &dtrace; im Benutzerbereich. Diese
|
||||
Eigenschaft erlaubt es Anwendern, funktionsübergreifende
|
||||
Aufzeichnungen für Anwendungsprogramme über die bereitgestellte
|
||||
<literal>pid</literal> hinweg vorzunehmen und um statische
|
||||
Sonden in Anwendungsprogramme für die spätere Aufzeichnung
|
||||
einzufügen. Manche Ports, wie beispielsweise
|
||||
<package>databases/postgres-server</package> und
|
||||
<package>lang/php5</package> besitzen eine &dtrace;-Option, um
|
||||
statische Sonden zu aktivieren. &os; 10.0-RELEASE besitzt
|
||||
eine verhältnismässig gute Unterstützung für &dtrace; im
|
||||
Anwendungsbereich, wird jedoch noch nicht als produktionsreif
|
||||
angesehen. Insbesondere ist es möglich, dass Programme während
|
||||
der Aufzeichnung abstürzen.</para>
|
||||
|
||||
<para>Nachdem Sie dieses Kapitel gelesen haben, werden Sie
|
||||
Folgendes wissen:</para>
|
||||
|
||||
|
@ -98,11 +115,6 @@ that might make this chapter too large.
|
|||
linkend="basics"/>).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Einen Kernel konfigurieren und kompilieren können (<xref
|
||||
linkend="kernelconfig"/>).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Vertraut sein mit Sicherheitsaspekten und wie diese
|
||||
&os; betreffen (<xref linkend="security"/>).</para>
|
||||
|
@ -115,10 +127,6 @@ that might make this chapter too large.
|
|||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<!--
|
||||
Temporary warning to avoid listing experimental versions
|
||||
and production versions of FreeBSD with this technology.
|
||||
-->
|
||||
<warning>
|
||||
<para>Diese Funktion ist als experimentell anzusehen. Manche
|
||||
Einstellungen enthalten möglicherweise nicht alle
|
||||
|
@ -134,9 +142,16 @@ that might make this chapter too large.
|
|||
|
||||
<para>Obwohl &dtrace; in &os; sehr ähnlich zu dem in &solaris;
|
||||
ist, existieren doch Unterschiede. Der Hauptunterschied besteht
|
||||
darin, dass in &os; &dtrace; explizit durch das Laden von
|
||||
Kernelmodulen oder das Kompilieren eines eigenen Kernels
|
||||
mit speziellen Optionen aktiviert werden muss.</para>
|
||||
darin, dass in &os; &dtrace; als eine Menge von Kernelmodulen
|
||||
implementiert ist und &dtrace; nicht verwendet werden kann, bis
|
||||
diese Module geladen wurden. Um alle nötigen Module zu laden,
|
||||
geben Sie ein:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>kldload dtraceall</userinput></screen>
|
||||
|
||||
<para>Beginnend mit &os; 10.0-RELEASE werden die Module
|
||||
automatisch geladen, sobald <command>dtrace</command> aufgerufen
|
||||
wird.</para>
|
||||
|
||||
<para>&os; verwendet die Kerneloption <literal>DDB_CTF</literal>,
|
||||
um die Unterstützung im Kernel für das Laden von
|
||||
|
@ -159,7 +174,15 @@ that might make this chapter too large.
|
|||
&solaris;-Implementierung. Am deutlichsten wird das beim
|
||||
<literal>dtmalloc</literal>-Provider, welcher das Aufzeichnen
|
||||
von <function>malloc()</function> nach Typen im &os;-Kernel
|
||||
ermöglicht.</para>
|
||||
ermöglicht. Manche der Provider in &solaris; wie
|
||||
<literal>cpc</literal> und <literal>mib</literal> sind in &os;
|
||||
nicht vorhanden. Diese können in zukünftigen &os;-Versionen
|
||||
auftauchen. Weiterhin sind manche der Provider in beiden
|
||||
Betriebssystemen nicht zueinander kompatibel, in dem Sinne daß
|
||||
deren Sonden unterschiedliche Argumenttypen aufweisen. Dadurch
|
||||
können <acronym>D</acronym>-Skripte, die unter &solaris;
|
||||
geschrieben wurden, evtl. unter &os; funktionieren oder auch
|
||||
nicht, umgekehrt ist das genauso.</para>
|
||||
|
||||
<para>In &os; darf &dtrace; wegen unterschiedlicher
|
||||
Sicherheitskonzepte nur von <systemitem
|
||||
|
@ -188,15 +211,18 @@ that might make this chapter too large.
|
|||
<sect1 xml:id="dtrace-enable">
|
||||
<title>Die &dtrace; Unterstützung aktivieren</title>
|
||||
|
||||
<para>Um Unterstützung für &dtrace; zu aktivieren, fügen Sie die
|
||||
folgenden Zeilen zu Ihrer Kernelkonfigurationsdatei
|
||||
hinzu:</para>
|
||||
<para>In &os; 9.2 und 10.0 ist die Unterstützung von &dtrace; im
|
||||
<filename>GENERIC</filename>-Kernel bereits eingebaut. Nutzer
|
||||
von früheren Versionen sollten die folgenden Zeilen in eine
|
||||
eigene Kernelkonfigurationsdatei einfügen und den Kernel mittels
|
||||
der Anleitung in <xref linkend="kernelconfig"/> neu
|
||||
übersetzen:</para>
|
||||
|
||||
<programlisting>options KDTRACE_HOOKS
|
||||
options DDB_CTF</programlisting>
|
||||
|
||||
<note>
|
||||
<para>Besitzer der AMD-Architektur werden wahrscheinlich noch
|
||||
<para>Besitzer der AMD64-Architektur werden wahrscheinlich noch
|
||||
die folgende Zeile zur Kernelkonfigurationsdatei
|
||||
hinzufügen:</para>
|
||||
|
||||
|
@ -208,48 +234,22 @@ options DDB_CTF</programlisting>
|
|||
Tracing nur eingeschränkt unterstützt.</para>
|
||||
</note>
|
||||
|
||||
<para>Der gesamte Quellcode muss neu gebaut und mit der
|
||||
<acronym>CTF</acronym>-Option installiert werden.</para>
|
||||
|
||||
<note>
|
||||
<para>Beginnend mit 10.0 werden die folgenden Schritte nicht
|
||||
mehr benötigt, da die <literal>WITH_CTF</literal>-Option in
|
||||
der <filename>GENERIC</filename>-Kernelkonfiguration
|
||||
enthalten ist.</para>
|
||||
</note>
|
||||
|
||||
<para>Um das zu erreichen, bauen Sie &os; aus dem Quellcode
|
||||
mittels:</para>
|
||||
|
||||
<!-- XXXTR: WITH_CTF has been reported to leave a user with a
|
||||
broken system when used with buildworld. Until this is
|
||||
fixed, comment out those parts. When uncommenting, kill
|
||||
the extra screen.
|
||||
-->
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
|
||||
<!-- &prompt.root; <userinput>make WITH_CTF=1 buildworld</userinput> -->
|
||||
&prompt.root; <userinput>make WITH_CTF=1 kernel</userinput></screen>
|
||||
<!-- &prompt.root; <userinput>make WITH_CTF=1 installworld</userinput>
|
||||
&prompt.root; <userinput>mergemaster -Ui</userinput></screen> -->
|
||||
|
||||
<para>Das System muss im Anschluss daran neu gestartet
|
||||
werden.</para>
|
||||
|
||||
<para>Nachdem das System neu gestartet und der neue Kernel in den
|
||||
Hauptspeicher geladen wurde, sollte die Unterstützung für die
|
||||
Korn-Shell hinzugefügt werden. Dies wird benötigt, da die
|
||||
<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.
|
||||
Installieren Sie <package>shells/ksh93</package>. Es ist auch
|
||||
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. Wenn Sie &os; 10
|
||||
einsetzen, finden Sie den &dtrace;-Werkzeugsatz in
|
||||
<filename>/usr/share/dtrace</filename>. Andernfalls können Sie
|
||||
den &dtrace;-Werkzeugsatz über den Port <filename
|
||||
&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>
|
||||
</sect1>
|
||||
|
@ -257,15 +257,8 @@ options DDB_CTF</programlisting>
|
|||
<sect1 xml:id="dtrace-using">
|
||||
<title>&dtrace; verwenden</title>
|
||||
|
||||
<para>Bevor die &dtrace;-Funktionaltät benutzt werden kann, muss
|
||||
das &dtrace;-Gerät existieren. Um das Gerät zu laden, geben Sie
|
||||
das folgende Kommando ein:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>kldload dtraceall</userinput></screen>
|
||||
|
||||
<para>Die &dtrace;-Unterstützung sollte jetzt verfügbar sein. Um
|
||||
alle Sonden anzuzeigen, kann der Administrator nun den folgenden
|
||||
Befehl eingeben:</para>
|
||||
<para>Um alle Sonden anzuzeigen, kann der Administrator nun den
|
||||
folgenden Befehl eingeben:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>dtrace -l | more</userinput></screen>
|
||||
|
||||
|
@ -299,16 +292,6 @@ options DDB_CTF</programlisting>
|
|||
enthalten, auf <filename>/usr/local/bin/perl</filename>
|
||||
umgeschrieben werden.</para>
|
||||
|
||||
<important>
|
||||
<para>Zu diesem Zeitpunkt ist es klug, den Leser noch einmal
|
||||
daran zu erinnern, dass die Unterstützung von &dtrace; in &os;
|
||||
noch <emphasis>unvollständig</emphasis> und
|
||||
<emphasis>experimentell</emphasis> ist. Viele dieser Skripte
|
||||
werden nicht funktionieren, da diese entweder zu sehr
|
||||
&solaris;-spezifisch sind oder Sonden verwenden, die zur Zeit
|
||||
noch nicht unterstützt werden.</para>
|
||||
</important>
|
||||
|
||||
<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
|
||||
|
|
Loading…
Reference in a new issue