From owner-p4-projects@FreeBSD.ORG Fri Oct 3 17:40:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8BCA71065696; Fri, 3 Oct 2008 17:40:33 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4E2901065692 for ; Fri, 3 Oct 2008 17:40:33 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3B1F08FC12 for ; Fri, 3 Oct 2008 17:40:33 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id m93HeVYv056786 for ; Fri, 3 Oct 2008 17:40:31 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id m93HeTkx056778 for perforce@freebsd.org; Fri, 3 Oct 2008 17:40:29 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 3 Oct 2008 17:40:29 GMT Message-Id: <200810031740.m93HeTkx056778@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 150872 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Oct 2008 17:40:33 -0000 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 @@ Tom Rhodes - Written by + Írta: DTrace - 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. + 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. - 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. + 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. - Synopsis + Áttekintés DTrace - DTrace support + DTrace támogatás DTrace - After reading this chapter, you will know: + A fejezet elolvasása során + megismerjük: - What DTrace is and what features it provides. + mi is az a DTrace és milyen lehetõségei + vannak; - Differences between the &solaris; DTrace implementation - and the one provided by &os;. + a &solaris; és &os; operációs + rendszereken megtalálható DTrace + implementációk közti + eltéréseket; - How to enable and use DTrace on &os;. + a DTrace &os; alatt hogyan engedélyezhetõ + és használható. - Before reading this chapter, you should: + A fejezet elolvasásához ajánlott: - Understand &unix; and &os; basics - (). + a &unix; és &os; alapvetõ ismerete (); - Be familiar with - the basics of kernel configuration/compilation - (). + a rendszermag konfigurációjának + és fordításának alapvetõ + ismerete (); - Have some familiarity with security and how it - pertains to &os; (). + az operációs rendszerek és azon + belül a &os; biztonsági fogalmainak minimális + ismerete (); - Understand how to obtain and rebuild the &os; sources + a &os; forrásainak megszerzésének + és azok lefordításának ismerete (). - - - 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. + + 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. - Implementation Differences + Eltérések az + implementációban - 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. + 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. - There is a DDB_CTF kernel option which - is used to enable support for loading the CTF - data from kernel modules and the kernel itself. - CTF is the &solaris; Compressed C Type format - which encapsulates a reduced form of debugging information - similar to DWARF and the venerable stabs. - This CTF data is added to the binaries by the - ctfconvert and ctfmerge - build tools. The ctfconvert utility parses - DWARF debug ELF sections - created by the compiler and ctfmerge merges - CTF ELF sections from - objects into either executables or shared libraries. More on - how to enable this for the kernel and &os; build is - forthcoming. + A rendszermag konfigurációs + állományában a DDB_CTF + opció segítségével tudjuk + engedélyezni ún. CTF adatok + betöltését mind a rendszermag + moduljaiból, mind pedig magából a + rendszermagból egyaránt. A CTF a + &solaris; Compressed Type Format + elnevezésû formátumára utal, amellyel + például a DWARF + 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 + CTF adatok többek közt a + ctfconvert és a + ctfmerge használatával + rendelhetõek hozzá bináris + állományokhoz. A ctfconvert + segédprogram a fordítóprogram által az + ELF állományokban szereplõ + DWARF típusú szakaszokban + tárolt információkat képes beolvasni, + és a ctfmerge a + tárgykódban található + CTF típusú ELF + 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. - Some different providers exist for &os; than for &solaris;. - Most notable is the dtmalloc provider, which - allows tracing malloc() by type in the - &os; kernel. + &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 dtmalloc, amely a &os; + rendszermagjában típus szerint teszi + lehetõvé a malloc() + függvény követését. - Only root 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 /dev/dtrace/dtrace is strictly - limited to root users only. + &os; alatt kizárólag csak a + root 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 /dev/dtrace/dtrace + eszköz szigorúan csak a root + számára érhetõ el. - Finally, the DTrace software falls under &sun;'s - CDDL license. The Common Development - and Distribution License comes with &os;, see the + Végezetül megemlítjük, hogy a DTrace + felhasználására a &sun; CDDL + licence vonatkozik. A Common Development and + Distribution License &os; a /usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE - or view it online at - - http://www.opensolaris.org/os/licensing. + állományban található, vagy interneten + keresztül a + címen. - This license means that a &os; kernel with the DTrace options - is still BSD licensed; however the - CDDL kicks in when the modules are distributed - in binary form, or the binaries are loaded. + Ezen licenc értelmében a DTrace + támogatással készített &os; + rendszermagok továbbra is BSD + licencûek maradnak, azonban a rendszerrel terjesztett + binárisok futtatásakor vagy a modulok + betöltésekor már a CDDL + érvényesül. - Enabling DTrace Support + A DTrace támogatásának + engedélyezése - To enable support for DTrace, add the following lines to - the kernel configuration file: + 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: options KDTRACE_HOOKS options DDB_CTF - Users of the AMD64 architecture will want to add the - following line to their kernel configuration file: + AMD64 architektúrán ezeken kívül + még az alábbi sor is kelleni fog: options KDTRACE_FRAME - This option provides support for the FBT - feature. DTrace will work without this option; however, there - will be limited support for function boundary tracing. + Ezzel a beállítással az + FBT (function boundary tracing) + 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. - All sources must be rebuilt and installed with CTF options. - To accomplish this task, rebuild the &os; sources using: + Az egész rendszert újra kell fordítanunk + a CTF használatával. Ennek + elvégzéséhez a következõ + parancsokat kell kiadnunk: &prompt.root; cd /usr/src - &prompt.root; make WITH_CTF=1 buildworld - &prompt.root; make WITH_CFT=1 kernel - &prompt.root; make WITH_CFT=1 installworld - &prompt.root; mergemaster -Ui +&prompt.root; make WITH_CTF=1 buildworld +&prompt.root; make WITH_CFT=1 kernel +&prompt.root; make WITH_CFT=1 installworld +&prompt.root; mergemaster -Ui - The system will need to be restarted. + A fordítás befejezõdése után + indítsuk újra a rendszerünket. - 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 ksh. Install the - shells/ksh93. It is also - possible to run these tools under - shells/pdksh or - shells/mksh. + 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 + ksh programra épülõ + eszközt fogunk találni. Ezért tehát + telepítsük a shells/ksh93 csomagot, de + megjegyezzük, hogy ugyanezen eszközök + számára a shells/pdksh vagy shells/mksh csomagok is + megfelelnek. - Finally, obtain the current DTrace toolkit. The current - version is available at - - http://www.opensolaris.org/os/community/dtrace/dtracetoolkit/. - There is an install mechanism included; however, installation - is not required to make use of the bundled utilities. + Végül töltsük le a DTrace + eszköztárának legfrissebb + változatát. Az aktuális verzió a + 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. - Using DTrace + A DTrace használata - Before making use of DTrace functionality, the DTrace device - must exist. To load the device, issue the following - command: + 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: &prompt.root; kldload dtraceall - DTrace support should now be available. To view all probes - the administrator may now execute the following command: + 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: &prompt.root; dtrace -l | more - All output is passed to the more - 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. + 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 more + 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. - 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, CPU usage and - a lot more. Extract the scripts with the following - command: + 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: &prompt.root; gunzip -c DTraceToolkit* | tar xvf - - Change into that directory with the cd - and change the execution permissions on all files, designated - as those files with lower case names, to - 755. + A cd 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 755 módra. - All of these scripts will need modifications to their - contents. The ones which refer to - /usr/bin/ksh need that changed to - /usr/local/bin/ksh, the others which - use /usr/bin/sh need to be altered to use - /bin/sh, and finally the ones which - use /usr/bin/perl will need altered to - use /usr/local/bin/perl. + Mindegyik szkriptben el kell végeznünk némi + módosítást: a /usr/bin/ksh + hivatkozásokat írjuk át mindenhol a + /usr/local/bin/ksh névre, illetve a + /usr/bin/sh hivatkozásokat + /bin/sh névre, majd + végezetül pedig a /usr/bin/perl + hivatkozásokat a /usr/local/bin/perl + névre. - At this point it is prudent to remind the reader that - DTrace support in &os; is incomplete - and experimental. Many of these scripts - will not work as they are either too &solaris;-specific or - use probes which are unsupported at this time. + Itt még egyszer kiemelnénk, hogy a &os;-ben + jelenleg megtalálható DTrace támogatás + még nem teljes és + kísérleti jelleggel 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. - At the time of this writing only two of the scripts of the - DTrace Toolkit are fully supported in &os;: - the hotkernel - and procsystime scripts. These are the two - we will explore in the following parts of this section. + Jelenlegi ismereteink szerint a &os; egyelõre csak + két szkriptet támogat teljes mértékben, + ezek a hotkernel és a + procsystime. A szakasz további + részében ezzel a kettõvel fogunk + részletesebben foglalkozni. - The hotkernel is designed to identify - which function is using the most kernel time. Run normally, it - will produce output similar to the following: + A hotkernel 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: &prompt.root; ./hotkernel -localhost# ./hotkernel Sampling... Hit Ctrl-C to end. - The system administrator must use the - CtrlC - 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: + A folyamat CtrlC + 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: 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% - + Ez a szkript modulok esetén is alkalmazható. + Ezt a módját a kapcsoló + megadásával aktiválhatjuk: - This script will also work with kernel modules. To use this - feature, run the script with the flag: - - &prompt.root; ./hotkernel -m - - localhost# ./hotkernel -m + &prompt.root; ./hotkernel -m Sampling... Hit Ctrl-C to end. ^C MODULE COUNT PCNT @@ -320,19 +416,19 @@ kernel 874 0.4% 0xc10981a5 213781 99.6% - + A procsystime 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 /bin/csh egy újabb + példányát. A + procsystime elindul, majd megvárja, + amíg kiadunk néhány parancsot a + csh frissen indított + másolatában. A teszt eredményei tehát + a következõk lesznek: - The procsystime script captures and - prints the system call time usage for a given - PID or process name. In the following - example, a new instance of /bin/csh - was spawned. The procsystime was executed - and remained waiting while a few commands were typed on the - other incarnation of csh. These are the - results of this test: - &prompt.root; ./procsystime -n csh Tracing... Hit Ctrl-C to end... ^C @@ -359,24 +455,25 @@ sigsuspend 6985124 read 3988049784 - As shown, the read system call seems to use the - most time in nanoseconds with the getpid() - system call used the least amount of time. + Jól megfigyelhetõ, hogy (nanomásodpercekben + mérve) a legtöbb idõt a + read(), a legkevesebb idõt pedig a + getpid() rendszerhívás vette + igénybe. - The D Language + A D nyelv - The DTrace Toolkit includes many scripts in the special language of - DTrace. This language is called the D language 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 . + 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 a D + nyelvnek. Ennek ismertetésére itt most + külön nem térünk ki, azonban a + címen igen részletesen olvashatunk + róla. - -