Date: Fri, 3 Oct 2008 17:40:29 GMT From: Gabor Pali <pgj@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 150872 for review Message-ID: <200810031740.m93HeTkx056778@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=150872 Change 150872 by pgj@kolbasz on 2008/10/03 17:40:18 Add Hungarian translation of DTrace chapter from Handbook Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/dtrace/chapter.sgml#2 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/dtrace/chapter.sgml#2 (text+ko) ==== @@ -14,258 +14,359 @@ <author> <firstname>Tom</firstname> <surname>Rhodes</surname> - <contrib>Written by </contrib> + <contrib>Írta: </contrib> </author> </authorgroup> </chapterinfo> <title>DTrace</title> - <para>DTrace, also known as Dynamic Tracing, was developed by - &sun; as a tool for locating performance bottlenecks - in production and pre-production systems. It is not, in any way, - a debugging tool, but a tool for real time system analysis to - locate performance and other issues.</para> + <para>A DTrace, vagy más néven Dynamic Tracing + technológiát a &sun; dolgozta ki szerverek + teljesítményében jelentkezõ szûk + keresztmetszetek felderítésének + megkönnyítésére. Ez nem egy + nyomkövetésre szolgáló megoldást + takar, hanem inkább a rendszer valós idejû + elemzését és + teljesítményének vizsgálatát + elõsegítõ eszközt.</para> - <para>DTrace is a remarkable profiling tool, with an impressive - array of features for diagnosing system issues. It may also be - used to run pre-written scripts to take advantage of its - capabilities. Users may even author their own utilities using - the DTrace D Language, allowing them to customize their profiling - based on specific needs.</para> + <para>A DTrace figyelemre méltó elemzõeszköz, + rengeteg rendkívül hasznos képességgel + rendelkezik a rendszerben felbukkanó problémák + diagnosztizálására. Elõre programozott + szkriptek segítségével pedig ezen + képességek további elõnyeit tudjuk + kihasználni, ugyanis a DTrace programozható egy + ún. D nyelven, amelynek révén a + különbözõ vizsgálatokat könnyen a + saját igényeink szerint tudjuk + alakítani.</para> <sect1 id="dtrace-synopsis"> - <title>Synopsis</title> + <title>Áttekintés</title> <indexterm><primary>DTrace</primary></indexterm> <indexterm> - <primary>DTrace support</primary> + <primary>DTrace támogatás</primary> <see>DTrace</see> </indexterm> - <para>After reading this chapter, you will know:</para> + <para>A fejezet elolvasása során + megismerjük:</para> <itemizedlist> <listitem> - <para>What DTrace is and what features it provides.</para> + <para>mi is az a DTrace és milyen lehetõségei + vannak;</para> </listitem> <listitem> - <para>Differences between the &solaris; DTrace implementation - and the one provided by &os;.</para> + <para>a &solaris; és &os; operációs + rendszereken megtalálható DTrace + implementációk közti + eltéréseket;</para> </listitem> <listitem> - <para>How to enable and use DTrace on &os;.</para> + <para>a DTrace &os; alatt hogyan engedélyezhetõ + és használható.</para> </listitem> </itemizedlist> - <para>Before reading this chapter, you should:</para> + <para>A fejezet elolvasásához ajánlott:</para> <itemizedlist> <listitem> - <para>Understand &unix; and &os; basics - (<xref linkend="basics">).</para> + <para>a &unix; és &os; alapvetõ ismerete (<xref + linkend="basics">);</para> </listitem> <listitem> - <para>Be familiar with - the basics of kernel configuration/compilation - (<xref linkend="kernelconfig">).</para> + <para>a rendszermag konfigurációjának + és fordításának alapvetõ + ismerete (<xref linkend="kernelconfig">);</para> </listitem> <listitem> - <para>Have some familiarity with security and how it - pertains to &os; (<xref linkend="security">).</para> + <para>az operációs rendszerek és azon + belül a &os; biztonsági fogalmainak minimális + ismerete (<xref linkend="security">);</para> </listitem> <listitem> - <para>Understand how to obtain and rebuild the &os; sources + <para>a &os; forrásainak megszerzésének + és azok lefordításának ismerete (<xref linkend="cutting-edge">).</para> </listitem> </itemizedlist> - <!-- - Temporary warning to avoid listing experimental versions - and production versions of FreeBSD with this technology. - --> - <warning> - <para>This feature is considered experimental. Some options - may be lacking in functionality, other parts may not work - at all. In time, this feature will be considered production - ready and this documentation will be altered to fit that - situation.</para> + <warning> + <para>Ez a funkció még folyamatos tesztelés + alatt áll. Bizonyos részei még + egyáltalán nem, vagy csak korlátozottan + érhetõek el. A dokumentáció annak + megfelelõen fog majd változni, hogy ezek az elemek + fokozatosan elérik az éles + felhasználáshoz szükséges + szintet.</para> </warning> </sect1> <sect1 id="dtrace-implementation"> - <title>Implementation Differences</title> + <title>Eltérések az + implementációban</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>Noha a &os; alatt megtalálható DTrace + implementáció nagyon hasonló az eredeti, + &solaris; alatt futó változathoz, tartalmaz bizonyos + különbségeket, amelyeket a + továbblépés elõtt mindenképpen + érdemes megemlítenünk. Az egyik legfontosabb + ilyen szembetûnõ különbség, hogy a &os; + esetén a DTrace használatát külön + engedélyezni kell. A DTrace megfelelõ + mûködéséhez tehát a rendszermag + konfigurációs állományában meg + kell adnunk bizonyos beállításokat és + modulokat kell betöltenünk. Ezekrõl hamarosan + szó lesz.</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; Compressed 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>A rendszermag konfigurációs + állományában a <literal>DDB_CTF</literal> + opció segítségével tudjuk + engedélyezni ún. <acronym>CTF</acronym> adatok + betöltését mind a rendszermag + moduljaiból, mind pedig magából a + rendszermagból egyaránt. A <acronym>CTF</acronym> a + &solaris; <quote>Compressed Type Format</quote> + elnevezésû formátumára utal, amellyel + például a <acronym>DWARF</acronym> + megoldásához hasonló módon + tárolhatunk tömörített alakban + különbözõ típusú + nyomkövetési információkat. Ilyen + <acronym>CTF</acronym> adatok többek közt a + <command>ctfconvert</command> és a + <command>ctfmerge</command> használatával + rendelhetõek hozzá bináris + állományokhoz. A <command>ctfconvert</command> + segédprogram a fordítóprogram által az + <acronym>ELF</acronym> állományokban szereplõ + <acronym>DWARF</acronym> típusú szakaszokban + tárolt információkat képes beolvasni, + és a <command>ctfmerge</command> a + tárgykódban található + <acronym>CTF</acronym> típusú <acronym>ELF</acronym> + szakaszokat tudja végrehajtható + állományokká vagy osztott + könyvtárakka összefûzni. Röviden + beszélni fogunk arról, hogyan lehet mindezeket a + &os; alaprendszerébe és rendszermagjába is + beépíteni.</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>&os; és &solaris; esetén elõfordulhat, hogy + más fajta providerek állnak + rendelkezésünkre. Ezek közül talán a + legfontosabb a <literal>dtmalloc</literal>, amely a &os; + rendszermagjában típus szerint teszi + lehetõvé a <function>malloc()</function> + függvény követését.</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>&os; alatt kizárólag csak a + <username>root</username> tudja használni a DTrace-t. Ennek + oka a két operációs rendszer + biztonsági megoldásai közti + különbségekben keresendõ, mivel a &solaris; + esetén létezik néhány olyan + alacsonyszintû ellenõrzés, amely a + &os;-nél még nincs. Ezért + például a <devicename>/dev/dtrace/dtrace</devicename> + eszköz szigorúan csak a <username>root</username> + számára érhetõ el.</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>Végezetül megemlítjük, hogy a DTrace + felhasználására a &sun; <acronym>CDDL</acronym> + licence vonatkozik. A <literal>Common Development and + Distribution License</literal> &os; a <filename>/usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE</filename> - or view it online at - <ulink url="http://www.opensolaris.org/os/licensing">; - http://www.opensolaris.org/os/licensing</ulink>.</para>; + állományban található, vagy interneten + keresztül a <ulink + url="http://www.opensolaris.org/os/licensing"></ulink>; + címen.</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>Ezen licenc értelmében a DTrace + támogatással készített &os; + rendszermagok továbbra is <acronym>BSD</acronym> + licencûek maradnak, azonban a rendszerrel terjesztett + binárisok futtatásakor vagy a modulok + betöltésekor már a <acronym>CDDL</acronym> + érvényesül.</para> </sect1> <sect1 id="dtrace-enable"> - <title>Enabling DTrace Support</title> + <title>A DTrace támogatásának + engedélyezése</title> - <para>To enable support for DTrace, add the following lines to - the kernel configuration file:</para> + <para>A DTrace által felkínált + lehetõségeket a következõ sorok + hozzáadásával tudjuk engedélyezni a + rendszermag konfigurációs + állományában:</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>AMD64 architektúrán ezeken kívül + még az alábbi sor is kelleni fog:</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> + <para>Ezzel a beállítással az + <acronym>FBT</acronym> (<quote>function boundary tracing</quote>) + részére nyújtunk támogatást. + A DTrace ugyan enélkül is képes lesz + mûködni, de akkor csak korlátozott + mértékben tudunk ilyen típusú + vizsgálatokat végezni.</para> </note> - <para>All sources must be rebuilt and installed with CTF options. - To accomplish this task, rebuild the &os; sources using:</para> + <para>Az egész rendszert újra kell fordítanunk + a <acronym>CTF</acronym> használatával. Ennek + elvégzéséhez a következõ + parancsokat kell kiadnunk:</para> <screen>&prompt.root; <userinput>cd /usr/src</userinput> - &prompt.root; <userinput>make WITH_CTF=1 buildworld</userinput> - &prompt.root; <userinput>make WITH_CFT=1 kernel</userinput> - &prompt.root; <userinput>make WITH_CFT=1 installworld</userinput> - &prompt.root; <userinput>mergemaster -Ui</userinput></screen> +&prompt.root; <userinput>make WITH_CTF=1 buildworld</userinput> +&prompt.root; <userinput>make WITH_CFT=1 kernel</userinput> +&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>A fordítás befejezõdése után + indítsuk újra a rendszerünket.</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>A rendszer újraindulása és az új + rendszermag betöltõdése után + szükségünk lesz egy Korn-féle + parancsértelmezõre is, mivel a DTrace + eszköztárában rengeteg, a + <command>ksh</command> programra épülõ + eszközt fogunk találni. Ezért tehát + telepítsük a <filename + role="package">shells/ksh93</filename> csomagot, de + megjegyezzük, hogy ugyanezen eszközök + számára a <filename + role="package">shells/pdksh</filename> vagy <filename + role="package">shells/mksh</filename> csomagok is + megfelelnek.</para> - <para>Finally, obtain the current DTrace toolkit. The current - version is available at - <ulink url="http://www.opensolaris.org/os/community/dtrace/dtracetoolkit/">; - 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> + <para>Végül töltsük le a DTrace + eszköztárának legfrissebb + változatát. Az aktuális verzió a <ulink + url="http://www.opensolaris.org/os/community/dtrace/dtracetoolkit/"></ulink>; + címen érhetõ el. Képes + önmagát telepíteni, de a benne + található eszközök + használatához nem kötelezõ ezt + elvégezni.</para> </sect1> <sect1 id="dtrace-using"> - <title>Using DTrace</title> + <title>A DTrace használata</title> - <para>Before making use of DTrace functionality, the DTrace device - must exist. To load the device, issue the following - command:</para> + <para>A DTrace funkcióinak alkalmazásához + léteznie kell egy DTrace eszköznek. Ennek + létrehozásához be kell töltenünk a + megfelelõ modult:</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>Innentõl már mûködésre + kész a DTrace. Rendszeradminisztrátorként a + következõ módon kérdezhetjük le a + rendelkezésre álló + vizsgálatokat:</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>Mivel lekérdezés eredménye pillanatok + alatt betöltené az egész képernyõt, + ezért az egészet még + átirányítjuk a <command>more</command> + parancshoz. Ha ez rendesen lefut, akkor a DTrace + ténylegesen használhatónak tekinthetõ. + Ezt követõen tekintsük át a + hozzátartozó eszközkészletet.</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>Ez a mellékelt eszközkészlet + lényegében a rendszerrel kapcsolatos + információk összegyûjtésére + alkalmas szkripteket tartalmaz. Vannak szkriptek, amelyekkel a + megnyitott állományokat, a memóriát, a + processzorhasználatot és még sok minden + mást kérdezhetünk le. A szkriptek a + következõ parancs segítségével + tömöríthetõek ki:</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>A <command>cd</command> parancs + segítségével lépjünk be az + így keletkezõ könyvtárba, és a + kisbetûs névvel rendelkezõ + állományok engedélyeit állítsuk + be a <literal>755</literal> módra.</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>Mindegyik szkriptben el kell végeznünk némi + módosítást: a <filename>/usr/bin/ksh</filename> + hivatkozásokat írjuk át mindenhol a + <filename>/usr/local/bin/ksh</filename> névre, illetve a + <filename>/usr/bin/sh</filename> hivatkozásokat + <filename>/bin/sh</filename> névre, majd + végezetül pedig a <filename>/usr/bin/perl</filename> + hivatkozásokat a <filename>/usr/local/bin/perl</filename> + névre.</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>Itt még egyszer kiemelnénk, hogy a &os;-ben + jelenleg megtalálható DTrace támogatás + <emphasis>még nem teljes</emphasis> és + <emphasis>kísérleti jelleggel</emphasis> szerepel. + Ezért bizonyos szkriptek nem fognak mûködni, + vagy azért, mert túlságosan &solaris; + lehetõségeihez igazodnak, vagy pedig azért, + mert a jelenlegi implementáció által + még nem ismert vizsgálatokra + támaszkodnak.</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>Jelenlegi ismereteink szerint a &os; egyelõre csak + két szkriptet támogat teljes mértékben, + ezek a <filename>hotkernel</filename> és a + <filename>procsystime</filename>. A szakasz további + részében ezzel a kettõvel fogunk + részletesebben foglalkozni.</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>A <filename>hotkernel</filename> feladata segíteni + beazonosítani azokat a függvényeket, amelyek a + legtöbb idõt veszik igénybe a rendszermagon + belül. A szkript futtatásakor nagyjából + a következõt csinálja:</para> <screen>&prompt.root; <userinput>./hotkernel</userinput> -localhost# ./hotkernel 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>A folyamat <keycombo + action="simul"><keycap>Ctrl</keycap><keycap>C</keycap> </keycombo> + billentyûkombináció hatására + állítható meg. A szkript + futásának befejezõdésekor + különbözõ rendszermagbeli + függvények és a hozzájuk tartozó + idõk jelennek meg, az utóbbi szerint növekvõ + sorrendben:</para> <screen>kernel`_thread_lock_flags 2 0.0% 0xc1097063 2 0.0% @@ -294,16 +395,11 @@ kernel`sched_idletd 137 0.3% 0xc10981a5 42139 99.3%</screen> - <!-- XXXTR: I attempted to use objdump and nm on /boot/kernel/kernel - to find 0xc10981a5, but to no avail. It would be nice to know - how we should look that up. --> + <para>Ez a szkript modulok esetén is alkalmazható. + Ezt a módját a <option>-m</option> kapcsoló + megadásával aktiválhatjuk:</para> - <para>This script will also work with kernel modules. To use this - feature, run the script with the <option>-m</option> flag:</para> - - <screen>&prompt.root; <userinput>./hotkernel -m</userinput></screen> - - <screen>localhost# <userinput>./hotkernel -m</userinput> + <screen>&prompt.root; <userinput>./hotkernel -m</userinput> Sampling... Hit Ctrl-C to end. ^C MODULE COUNT PCNT @@ -320,19 +416,19 @@ kernel 874 0.4% 0xc10981a5 213781 99.6%</screen> - <!-- XXXTR: I was unable to match these up with output from - kldstat and kldstat -v and grep. Maybe I'm missing something - seriously obvious. It is 5AM btw. --> + <para>A <filename>procsystime</filename> szkript egy adott + azonosítóval vagy névvel rendelkezõ + programhoz tudja megadni az általa kezdeményezett + rendszerhívások által felhasznált + idõt. A most következõ példában + elindítjuk a <filename>/bin/csh</filename> egy újabb + példányát. A + <filename>procsystime</filename> elindul, majd megvárja, + amíg kiadunk néhány parancsot a + <command>csh</command> frissen indított + másolatában. A teszt eredményei tehát + a következõk lesznek:</para> - <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> - <screen>&prompt.root; <userinput>./procsystime -n csh</userinput> Tracing... Hit Ctrl-C to end... ^C @@ -359,24 +455,25 @@ sigsuspend 6985124 read 3988049784</screen> - <para>As shown, the read 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>Jól megfigyelhetõ, hogy (nanomásodpercekben + mérve) a legtöbb idõt a + <function>read()</function>, a legkevesebb idõt pedig a + <function>getpid()</function> rendszerhívás vette + igénybe.</para> </sect1> <sect1 id="dtrace-language"> - <title>The D Language</title> + <title>A D nyelv</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>A DTrace eszköztárában + megtalálható számos szkript a DTrace + saját programozási nyelvén + íródott. Ezt a nyelvet nevezik a &sun; + implementációjában <quote>a D + nyelvnek</quote>. Ennek ismertetésére itt most + külön nem térünk ki, azonban a <ulink + url="http://wikis.sun.com/display/DTrace/Documentation"></ulink>; + címen igen részletesen olvashatunk + róla.</para> </sect1> </chapter> - - <!-- XXXTR: Should probably put links and resources here. I'm - nervous about this chapter as it may require a partial - re-write and large modification once DTrace is complete, but - at least we can get everyone started ... -->
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810031740.m93HeTkx056778>