Date: Sun, 19 Oct 2008 16:13:33 GMT From: Rene Ladan <rene@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 151562 for review Message-ID: <200810191613.m9JGDX0c015389@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=151562 Change 151562 by rene@rene_self on 2008/10/19 16:13:29 Finish translation of DTrace chapter (rev 1.3). Checked build, spelling, whitespace. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/dtrace/chapter.sgml#3 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/dtrace/chapter.sgml#3 (text+ko) ==== @@ -48,7 +48,7 @@ <para>DTrace, ook bekend als Dynamic Tracing, was ontwikkeld door &sun; als een gereedschap om prestatie-bottlenecks in productie- en preproductiesystemen op te sporen. Het is in geen enkel opzicht - een debug-gereedschap, maar een gereedscahp voor real-time analyse + een debug-gereedschap, maar een gereedschap voor real-time analyse om prestatie- en andere zaken op te sporen.</para> <para>DTrace is een opmerkelijk profileringsgereedschap, met een @@ -57,7 +57,7 @@ scripts te draaien om zo voordeel te halen uit de mogelijkheden. Gebruikers kunnen zelfs hun eigen middelen schrijven door gebruik te maken van de DTrace D Language, wat ze in staat stelt om hun - profiling aan te passen aan hun specifieke behoeften.</para> + profilering aan te passen aan hun specifieke behoeften.</para> <para>Na het lezen van dit hoofdstuk weet u:</para> @@ -115,77 +115,83 @@ </sect1> <sect1 id="dtrace-implementation"> - <title>Implementation Differences</title> + <title>Implementatieverschillen</title> - <para>While the DTrace in &os; is very similar to that found - in &solaris;, differences exist that should be explained before - continuing. The primary difference users will notice is that - on &os;, DTrace needs to be specifically enabled. There are - kernel options and modules which must be enabled for DTrace to - work properly. These will be explained later.</para> + <para>Hoewel DTrace in &os; erg lijkt op degene die in &solaris; + zit, zijn er verschillen die uitgelegd moeten worden voordat er + verder wordt gegaan. Het primaire verschil dat gebruikers zullen + zien is dat DTrace specifiek moet worden aangezet op &os;. Er + zijn kernelopties en modulen die aangezet moeten worden om DTrace + juist te laten werken. Deze zullen later worden uitgelegd.</para> - <para>There is a <literal>DDB_CTF</literal> kernel option which - is used to enable support for loading the <acronym>CTF</acronym> - data from kernel modules and the kernel itself. - <acronym>CTF</acronym> is the &solaris; Compact C Type Format - which encapsulates a reduced form of debugging information - similar to <acronym>DWARF</acronym> and the venerable stabs. - This <acronym>CTF</acronym> data is added to the binaries by the - <command>ctfconvert</command> and <command>ctfmerge</command> - build tools. The <command>ctfconvert</command> utility parses - <acronym>DWARF</acronym> debug <acronym>ELF</acronym> sections - created by the compiler and <command>ctfmerge</command> merges - <acronym>CTF</acronym> <acronym>ELF</acronym> sections from - objects into either executables or shared libraries. More on - how to enable this for the kernel and &os; build is - forthcoming.</para> + <para>Er is een kerneloptie <literal>DDB_CTF</literal> die gebruikt + wordt om ondersteuning voor het laden van + <acronym>CTF</acronym>-gegevens van kernelmodulen en de kernel + zelf. <acronym>CTF</acronym> is het Compact C Type Format van + &solaris; welke een beperkte vorm van debuginformatie bevat + die vergelijkbaar is met <acronym>DWARF</acronym> en de befaamde + steken. Deze <acronym>CTF</acronym>-gegevens worden door de + bouwmiddelen <command>ctfconvert</command> en + <command>ctfmerge</command> aan de binairen toegevoegd. Het + hulpmiddel <command>ctfconvert</command> parst + <acronym>DWARF</acronym>-debug <acronym>ELF</acronym>-secties die + door de compiler zijn aangemaakt en <command>ctfmerge</command> + voegt <acronym>CTF</acronym> <acronym>ELF</acronym>-secties van + objecten samen in hun executables of gedeelde bibliotheken. Meer + informatie over hoe dit voor de bouw van de kernel en &os; aan te + zetten komt eraan.</para> - <para>Some different providers exist for &os; than for &solaris;. - Most notable is the <literal>dtmalloc</literal> provider, which - allows tracing <function>malloc()</function> by type in the - &os; kernel.</para> + <para>Sommige aanbieders voor &os; verschillen van die voor + &solaris;. De meest opmerkelijke is de aanbieder + <literal>dtmalloc</literal>, welke het volgen van + <function>malloc()</function> op soort in de &os;-kernel + toestaat.</para> - <para>Only <username>root</username> may use DTrace on &os;. - This is related to security differences, &solaris; has a few - low level security checks which do not yet exist in &os;. As - such, the <devicename>/dev/dtrace/dtrace</devicename> is strictly - limited to <username>root</username> users only.</para> + <para>Alleen <username>root</username> mag DTrace op &os; gebruiken. + Dit heeft te maken met beveiligingsverschillen, &solaris; heeft + enkele beveiligingscontroles op laag niveau die nog niet bestaan + in &os;. Hierom is <devicename>/dev/dtrace/dtrace</devicename> + strikt beperkt tot <username>root</username>.</para> - <para>Finally, the DTrace software falls under &sun;'s - <acronym>CDDL</acronym> license. The <literal>Common Development - and Distribution License</literal> comes with &os;, see the + <para>Tenslotte valt de DTrace-software onder de + <acronym>CDDL</acronym>-licentie van &sun;. De <literal>Common + Development and Distribution License</literal> wordt bij &os; + geleverd, zie <filename>/usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE</filename> - or view it online at + of bekijk het online op <ulink url="http://www.opensolaris.org/os/licensing"></ulink>.</para> - <para>This license means that a &os; kernel with the DTrace options - is still <acronym>BSD</acronym> licensed; however the - <acronym>CDDL</acronym> kicks in when the modules are distributed - in binary form, or the binaries are loaded.</para> + <para>Deze licentie houdt in dat een &os;-kernel met de + DTrace-opties nog steeds onder de <acronym>BSD</acronym>-licentie + valt; de <acronym>CDDL</acronym> komt echter op de proppen wanneer + de modulen in binaire vorm worden verspreid, of wanneer de + binairen zijn geladen.</para> </sect1> <sect1 id="dtrace-enable"> - <title>Enabling DTrace Support</title> + <title>Ondersteuning voor DTrace aanzetten</title> - <para>To enable support for DTrace, add the following lines to - the kernel configuration file:</para> + <para>Voeg de volgende regels toe aan het kernelinstellingenbestand + om ondersteuning voor DTrace aan te zetten:</para> <programlisting>options KDTRACE_HOOKS options DDB_CTF</programlisting> <note> - <para>Users of the AMD64 architecture will want to add the - following line to their kernel configuration file:</para> + <para>Gebruikers van de AMD64-architectuur zullen de volgende + regel aan hun kernelinstellingenbestand willen toevoegen:</para> <programlisting>options KDTRACE_FRAME</programlisting> - <para>This option provides support for the <acronym>FBT</acronym> - feature. DTrace will work without this option; however, there - will be limited support for function boundary tracing.</para> - </note> + <para>Deze optie biedt ondersteuning voor de mogelijkheid + <acronym>FBT</acronym>. DTrace zal zonder deze optie werken; + er zal echter beperkte ondersteuning zijn voor het volgen van + functiegrenzen.</para> + </note> - <para>All sources must be rebuilt and installed with <acronym>CTF</acronym> options. - To accomplish this task, rebuild the &os; sources using:</para> + <para>Alle broncode moet herbouwd en geherinstalleerd worden met de + <acronym>CTF</acronym>-opties. Om deze taak te volbrengen, wordt + de &os;-broncode herbouwd met:</para> <screen>&prompt.root; <userinput>cd /usr/src</userinput> &prompt.root; <userinput>make WITH_CTF=1 buildworld</userinput> @@ -193,92 +199,95 @@ &prompt.root; <userinput>make WITH_CFT=1 installworld</userinput> &prompt.root; <userinput>mergemaster -Ui</userinput></screen> - <para>The system will need to be restarted.</para> + <para>Het systeem moet opnieuw gestart worden.</para> - <para>After rebooting and allowing the new kernel to be loaded - into memory, support for the Korn shell should be added. This - is needed as the DTrace toolkit has several utilities written - in <command>ksh</command>. Install the - <filename role="package">shells/ksh93</filename>. It is also - possible to run these tools under - <filename role="package">shells/pdksh</filename> or - <filename role="package">shells/mksh</filename>.</para> + <para>Nadat opnieuw is opgestart en de nieuwe kernel in het geheugen + is geladen, dient ondersteuning voor de Korn-shell te worden + toegevoegd. Dit is nodig omdat de verschillende hulpmiddelen van + DTrace in <command>ksh</command> zijn geschreven. Installeer + <filename role="package">shells/ksh93</filename>. Het is ook + mogelijk om deze hulpmiddelen in <filename + role="package">shells/pdksh</filename> of <filename + role="package">shells/mksh</filename> te draaien.</para> - <para>Finally, obtain the current DTrace toolkit. The current - version is available at + <para>Als laatste dient de huidige DTrace-gereedschapskist verkregen + te worden. De huidige versie is beschikbaar op <ulink url="http://www.opensolaris.org/os/community/dtrace/dtracetoolkit/"></ulink>. - There is an install mechanism included; however, installation - is not required to make use of the bundled utilities.</para> + Het bevat een installatiemechanisme; om gebruik te maken van de + bijgeleverde hulpmiddelen is installatie echter niet nodig.</para> </sect1> <sect1 id="dtrace-using"> - <title>Using DTrace</title> + <title>DTrace gebruiken</title> - <para>Before making use of DTrace functionality, the DTrace device - must exist. To load the device, issue the following - command:</para> + <para>Voordat er gebruik wordt gemaakt van de functionaliteit van + DTrace, moet het DTrace-apparaat bestaan. Geef het volgende + commando om het apparaat te laten:</para> <screen>&prompt.root; <userinput>kldload dtraceall</userinput></screen> - <para>DTrace support should now be available. To view all probes - the administrator may now execute the following command:</para> + <para>Ondersteuning van DTrace zou nu beschikbaar moeten zijn. De + beheerder kan het volgende commando uitvoeren om alle sondes te + bekijken:</para> <screen>&prompt.root; <userinput>dtrace -l | more</userinput></screen> - <para>All output is passed to the <command>more</command> - utility as it will quickly overflow the screen buffer. At - this point, DTrace should be considered working. It is now - time to review the toolkit.</para> + <para>Alle uitvoer wordt aan het hulpmiddel <command>more</command> + doorgegeven omdat het snel de schermbuffer zal laten overstromen. + DTrace kan nu als werkend worden beschouwd. Het is nu tijd om de + gereedschapskist te bekijken.</para> - <para>The toolkit is a collection of ready-made scripts to run - with DTrace to collect system information. There are scripts - to check open files, memory, <acronym>CPU</acronym> usage and - a lot more. Extract the scripts with the following - command:</para> + <para>De gereedschapskist is een verzameling van kant-en-klare + scripts die met DTrace gedraaid kunnen worden om informatie over + het systeem te verzamelen. Er zijn scripts om open bestanden, + geheugen, <acronym>CPU</acronym>-gebruik, en nog veel meer te + controleren. Pak de scripts uit met het volgende commando:</para> <screen>&prompt.root; <userinput>gunzip -c DTraceToolkit* | tar xvf -</userinput></screen> - <para>Change into that directory with the <command>cd</command> - and change the execution permissions on all files, designated - as those files with lower case names, to - <literal>755</literal>.</para> + <para>Ga naar die map met <command>cd</command> en zet de + uitvoerpermissies voor alle bestanden waarvan de naam uit kleine + letters bestaat, op <literal>755</literal>.</para> - <para>All of these scripts will need modifications to their - contents. The ones which refer to - <filename>/usr/bin/ksh</filename> need that changed to - <filename>/usr/local/bin/ksh</filename>, the others which - use <filename>/usr/bin/sh</filename> need to be altered to use - <filename>/bin/sh</filename>, and finally the ones which - use <filename>/usr/bin/perl</filename> will need altered to - use <filename>/usr/local/bin/perl</filename>.</para> + <para>De inhoud van al deze scripts moet veranderd worden. Degenen + die naar <filename>/usr/bin/ksh</filename> verwijzen dienen naar + <filename>/usr/local/bin/ksh</filename> te verwijzen, de anderen + die <filename>/usr/bin/sh</filename> gebruiken dienen gewijzigd te + worden om <filename>/bin/sh</filename> te gebruiken, en tenslotte + dienen degenen die <filename>/usr/bin/perl</filename> gebruiken + veranderd te worden om <filename>/usr/local/bin/perl</filename> te + gebruiken.</para> <important> - <para>At this point it is prudent to remind the reader that - DTrace support in &os; is <emphasis>incomplete</emphasis> - and <emphasis>experimental</emphasis>. Many of these scripts - will not work as they are either too &solaris;-specific or - use probes which are unsupported at this time.</para> + <para>Op dit moment is het voorzichtig om de lezer eraan te + herinneren dat de ondersteuning voor DTrace in &os; + <emphasis>niet compleet</emphasis> en + <emphasis>experimenteel</emphasis> is. Veel van deze scripts + zullen niet werken omdat ze of te &solaris;-specifiek zijn of + omdat ze sondes gebruiken die momenteel niet ondersteund + worden.</para> </important> - <para>At the time of this writing only two of the scripts of the - DTrace Toolkit are fully supported in &os;: - the <filename>hotkernel</filename> - and <filename>procsystime</filename> scripts. These are the two - we will explore in the following parts of this section.</para> + <para>Op het moment van schrijven worden slechts twee scripts van de + DTrace Toolkit volledig ondersteund in &os;: de scripts + <filename>hotkernel</filename> en + <filename>procsystime</filename>. Dit zijn de twee die we in de + volgende gedeelten van deze sectie zullen bekijken.</para> - <para>The <filename>hotkernel</filename> is designed to identify - which function is using the most kernel time. Run normally, it - will produce output similar to the following:</para> + <para>De <filename>hotkernel</filename> is ontworpen om te + identificeren welke functie de meeste kerneltijd gebruikt. Als + het normaal gedraaid wordt, zal het uitvoer die op de volgende + lijkt produceren:</para> <screen>&prompt.root; <userinput>./hotkernel</userinput> Sampling... Hit Ctrl-C to end.</screen> - <para>The system administrator must use the - <keycombo action="simul"><keycap>Ctrl</keycap><keycap>C</keycap> - </keycombo> key combination to stop the process. Upon - termination, the script will display a list of kernel functions and - timing information, sorting the output in increasing order of - time:</para> + <para>De systeembeheerder moet de toetsencombinatie <keycombo + action="simul"><keycap>Ctrl</keycap><keycap>C</keycap></keycombo> + gebruiken om het proces te stoppen. Nadat het gestopt is, zal het + script een lijst van kernelfuncties en timinginformatie weergeven, + waarbij de uitvoer in volgorde van toenemende tijd is + gesorteerd:</para> <screen>kernel`_thread_lock_flags 2 0.0% 0xc1097063 2 0.0% @@ -311,8 +320,9 @@ to find 0xc10981a5, but to no avail. It would be nice to know how we should look that up. --> - <para>This script will also work with kernel modules. To use this - feature, run the script with the <option>-m</option> flag:</para> + <para>Het script werkt ook met kernelmodules. Draai het script met + de vlag <option>-m</option> om deze mogelijkheid te + gebruiken:</para> <screen>&prompt.root; <userinput>./hotkernel -m</userinput> Sampling... Hit Ctrl-C to end. @@ -335,14 +345,14 @@ kldstat and kldstat -v and grep. Maybe I'm missing something seriously obvious. It is 5AM btw. --> - <para>The <filename>procsystime</filename> script captures and - prints the system call time usage for a given - <acronym>PID</acronym> or process name. In the following - example, a new instance of <filename>/bin/csh</filename> - was spawned. The <filename>procsystime</filename> was executed - and remained waiting while a few commands were typed on the - other incarnation of <command>csh</command>. These are the - results of this test:</para> + <para>Het script <filename>procsystime</filename> vangt en beeldt + het tijdsgebruik van systeemaanroepen af voor een gegeven + <acronym>PID</acronym> of procesnaam. In het volgende voorbeeld + wordt er een nieuwe instantie van <filename>/bin/csh</filename> + gedraaid. Het <filename>procsystime</filename> werd uitgevoerd en + bleef wachten terwijl er enkele commando's op de andere instantie + van <command>csh</command> werden getypt. Dit zijn de resultaten + van deze test:</para> <screen>&prompt.root; <userinput>./procsystime -n csh</userinput> Tracing... Hit Ctrl-C to end... @@ -370,20 +380,21 @@ sigsuspend 6985124 read 3988049784</screen> - <para>As shown, the <function>read()</function> system call seems to use the - most time in nanoseconds with the <function>getpid()</function> - system call used the least amount of time.</para> + <para>Zoals te zien is, lijkt de systeemaanroep + <function>read()</function> de meeste tijd in nanoseconden te + gebruiken en gebruikte de systeemaanroep + <function>getpid()</function> de minste hoeveelheid tijd.</para> </sect1> <sect1 id="dtrace-language"> - <title>The D Language</title> + <title>De taal D</title> - <para>The DTrace Toolkit includes many scripts in the special language of - DTrace. This language is called <quote>the D language</quote> by &sun; - documentation, and it is very similar to C++. An in depth - discussion of the language is beyond the scope of this document. It is - extensively discussed - at <ulink url="http://wikis.sun.com/display/DTrace/Documentation"></ulink>.</para> + <para>De DTrace-gereedschapskist bevat vele scripts in de speciale + taal van DTrace. Deze taal wordt <quote>de taal D</quote> genoemd + door de documentatie van &sun;, en lijkt sterk op C++. Een + diepgaande discussie over de taal valt buiten het bereik van dit + document. Het wordt uitgebreid behandeld op + <ulink url="http://wikis.sun.com/display/DTrace/Documentation"></ulink>.</para> </sect1> </chapter>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810191613.m9JGDX0c015389>