# AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: Fedora Deployment Guide\n" "POT-Creation-Date: 2011-02-22T00:50:56\n" "PO-Revision-Date: 2011-08-21 08:00+0000\n" "Last-Translator: Automatically generated\n" "Language-Team: Albanian (http://www.transifex.net/projects/p/fedora/team/sq/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sq\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" #. Tag: title #, no-c-format msgid "OProfile" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "system analysis OProfile " "OProfile" msgstr "" #. Tag: indexterm #, no-c-format msgid "OProfile" msgstr "" #. Tag: para #, no-c-format msgid "" "OProfile is a low overhead, system-wide performance monitoring tool. It uses" " the performance monitoring hardware on the processor to retrieve " "information about the kernel and executables on the system, such as when " "memory is referenced, the number of L2 cache requests, and the number of " "hardware interrupts received. On a &MAJOROS; system, the " "oprofile RPM package must be installed to use this " "tool." msgstr "" #. Tag: para #, no-c-format msgid "" "Many processors include dedicated performance monitoring hardware. This " "hardware makes it possible to detect when certain events happen (such as the" " requested data not being in cache). The hardware normally takes the form of" " one or more counters that are incremented each time " "an event takes place. When the counter value, essentially rolls over, an " "interrupt is generated, making it possible to control the amount of detail " "(and therefore, overhead) produced by performance monitoring." msgstr "" #. Tag: para #, no-c-format msgid "" "OProfile uses this hardware (or a timer-based substitute in cases where " "performance monitoring hardware is not present) to collect " "samples of performance-related data each time a " "counter generates an interrupt. These samples are periodically written out " "to disk; later, the data contained in these samples can then be used to " "generate reports on system-level and application-level performance." msgstr "" #. Tag: para #, no-c-format msgid "" "OProfile is a useful tool, but be aware of some limitations when using it:" msgstr "" #. Tag: para #, no-c-format msgid "" "Use of shared libraries — Samples for code in shared " "libraries are not attributed to the particular application unless the " " option is used." msgstr "" #. Tag: para #, no-c-format msgid "" "Performance monitoring samples are inexact — When a " "performance monitoring register triggers a sample, the interrupt handling is" " not precise like a divide by zero exception. Due to the out-of-order " "execution of instructions by the processor, the sample may be recorded on a " "nearby instruction." msgstr "" #. Tag: para #, no-c-format msgid "" " opreport does not associate samples for inline" " functions' properlyopreport uses a simple " "address range mechanism to determine which function an address is in. Inline" " function samples are not attributed to the inline function but rather to " "the function the inline function was inserted into." msgstr "" #. Tag: para #, no-c-format msgid "" "OProfile accumulates data from multiple runs — OProfile" " is a system-wide profiler and expects processes to start up and shut down " "multiple times. Thus, samples from multiple runs accumulate. Use the command" " opcontrol --reset to clear out the samples from previous" " runs." msgstr "" #. Tag: para #, no-c-format msgid "" "Non-CPU-limited performance problems — OProfile is " "oriented to finding problems with CPU-limited processes. OProfile does not " "identify processes that are asleep because they are waiting on locks or for " "some other event to occur (for example an I/O device to finish an " "operation)." msgstr "" #. Tag: title #, no-c-format msgid "Overview of Tools" msgstr "" #. Tag: indexterm #, no-c-format msgid "OProfile overview of tools" msgstr "" #. Tag: para #, no-c-format msgid "" " provides a brief overview of the " "tools provided with the oprofile package." msgstr "" #. Tag: title #, no-c-format msgid "OProfile Commands" msgstr "" #. Tag: entry #, no-c-format msgid "Command" msgstr "" #. Tag: entry #, no-c-format msgid "Description" msgstr "" #. Tag: entry #, no-c-format msgid "ophelp" msgstr "" #. Tag: para #, no-c-format msgid "" "Displays available events for the system's processor along with a brief " "description of each." msgstr "" #. Tag: entry #, no-c-format msgid "opimport" msgstr "" #. Tag: para #, no-c-format msgid "" "Converts sample database files from a foreign binary format to the native " "format for the system. Only use this option when analyzing a sample database" " from a different architecture." msgstr "" #. Tag: entry #, no-c-format msgid "opannotate" msgstr "" #. Tag: entry #, no-c-format msgid "" "Creates annotated source for an executable if the application was compiled " "with debugging symbols. Refer to for details." msgstr "" #. Tag: entry #, no-c-format msgid "opcontrol" msgstr "" #. Tag: para #, no-c-format msgid "" "Configures what data is collected. Refer to for details." msgstr "" #. Tag: entry #, no-c-format msgid "opreport" msgstr "" #. Tag: para #, no-c-format msgid "" "Retrieves profile data. Refer to for details." msgstr "" #. Tag: entry #, no-c-format msgid "oprofiled" msgstr "" #. Tag: para #, no-c-format msgid "Runs as a daemon to periodically write sample data to disk." msgstr "" #. Tag: title #, no-c-format msgid "Configuring OProfile" msgstr "" #. Tag: indexterm #, no-c-format msgid "OProfile configuring" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile opcontrol " "" msgstr "" #. Tag: indexterm #, no-c-format msgid " opcontrol OProfile" msgstr "" #. Tag: para #, no-c-format msgid "" "Before OProfile can be run, it must be configured. At a minimum, selecting " "to monitor the kernel (or selecting not to monitor the kernel) is required. " "The following sections describe how to use the opcontrol " "utility to configure OProfile. As the opcontrol commands " "are executed, the setup options are saved to the " "/root/.oprofile/daemonrc file." msgstr "" #. Tag: title #, no-c-format msgid "Specifying the Kernel" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile monitoring the kernel" msgstr "" #. Tag: para #, no-c-format msgid "" "First, configure whether OProfile should monitor the kernel. This is the " "only configuration option that is required before starting OProfile. All " "others are optional." msgstr "" #. Tag: para #, no-c-format msgid "To monitor the kernel, execute the following command as root:" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile opcontrol " " " msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opcontrol --setup --vmlinux=/usr/lib/debug/lib/modules/`uname -r`/vmlinux\n" " " msgstr "" #. Tag: title #, no-c-format msgid "Note" msgstr "" #. Tag: para #, no-c-format msgid "" "The debuginfo package must be installed (which contains " "the uncompressed kernel) in order to monitor the kernel." msgstr "" #. Tag: para #, no-c-format msgid "" "To configure OProfile not to monitor the kernel, execute the following " "command as root:" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile opcontrol " " " msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opcontrol --setup --no-vmlinux\n" " " msgstr "" #. Tag: para #, no-c-format msgid "" "This command also loads the oprofile kernel" " module, if it is not already loaded, and creates the " "/dev/oprofile/ directory, if it does not already exist." " Refer to for details about " "this directory." msgstr "" #. Tag: para #, no-c-format msgid "" "Even if OProfile is configured not to profile the kernel, the SMP kernel " "still must be running so that the oprofile module can be " "loaded from it." msgstr "" #. Tag: para #, no-c-format msgid "" "Setting whether samples should be collected within the kernel only changes " "what data is collected, not how or where the collected data is stored. To " "generate different sample files for the kernel and application libraries, " "refer to ." msgstr "" #. Tag: title #, no-c-format msgid "Setting Events to Monitor" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile events " "setting" msgstr "" #. Tag: para #, no-c-format msgid "" "Most processors contain counters, which are used by " "OProfile to monitor specific events. As shown in , the number of counters available depends on the " "processor." msgstr "" #. Tag: title #, no-c-format msgid "OProfile Processors and Counters" msgstr "" #. Tag: entry #, no-c-format msgid "Processor" msgstr "" #. Tag: entry #, no-c-format msgid "cpu_type" msgstr "" #. Tag: entry #, no-c-format msgid "Number of Counters" msgstr "" #. Tag: entry #, no-c-format msgid "Pentium Pro" msgstr "" #. Tag: entry #, no-c-format msgid "i386/ppro" msgstr "" #. Tag: entry #, no-c-format msgid "2" msgstr "" #. Tag: entry #, no-c-format msgid "Pentium II" msgstr "" #. Tag: entry #, no-c-format msgid "i386/pii" msgstr "" #. Tag: entry #, no-c-format msgid "Pentium III" msgstr "" #. Tag: entry #, no-c-format msgid "i386/piii" msgstr "" #. Tag: entry #, no-c-format msgid "Pentium 4 (non-hyper-threaded)" msgstr "" #. Tag: entry #, no-c-format msgid "i386/p4" msgstr "" #. Tag: entry #, no-c-format msgid "8" msgstr "" #. Tag: entry #, no-c-format msgid "Pentium 4 (hyper-threaded)" msgstr "" #. Tag: entry #, no-c-format msgid "i386/p4-ht" msgstr "" #. Tag: entry #, no-c-format msgid "4" msgstr "" #. Tag: entry #, no-c-format msgid "Athlon" msgstr "" #. Tag: entry #, no-c-format msgid "i386/athlon" msgstr "" #. Tag: entry #, no-c-format msgid "AMD64" msgstr "" #. Tag: entry #, no-c-format msgid "x86-64/hammer" msgstr "" #. Tag: entry #, no-c-format msgid "TIMER_INT" msgstr "" #. Tag: entry #, no-c-format msgid "timer" msgstr "" #. Tag: entry #, no-c-format msgid "1" msgstr "" #. Tag: entry #, no-c-format msgid "IBM eServer iSeries and pSeries" msgstr "" #. Tag: entry #, no-c-format msgid "ppc64/power4" msgstr "" #. Tag: entry #, no-c-format msgid "ppc64/power5" msgstr "" #. Tag: entry #, no-c-format msgid "6" msgstr "" #. Tag: entry #, no-c-format msgid "ppc64/970" msgstr "" #. Tag: entry #, no-c-format msgid "IBM eServer S/390 and S/390x" msgstr "" #. Tag: entry #, no-c-format msgid "IBM eServer zSeries" msgstr "" #. Tag: para #, no-c-format msgid "" "Use to verify that the correct " "processor type was detected and to determine the number of events that can " "be monitored simultaneously. timer is used " "as the processor type if the processor does not have supported performance " "monitoring hardware." msgstr "" #. Tag: para #, no-c-format msgid "" "If timer is used, events cannot be set for " "any processor because the hardware does not have support for hardware " "performance counters. Instead, the timer interrupt is used for profiling." msgstr "" #. Tag: para #, no-c-format msgid "" "If timer is not used as the processor type," " the events monitored can be changed, and counter 0 for the processor is set" " to a time-based event by default. If more than one counter exists on the " "processor, the counters other than counter 0 are not set to an event by " "default. The default events monitored are shown in ." msgstr "" #. Tag: title #, no-c-format msgid "Default Events" msgstr "" #. Tag: entry #, no-c-format msgid "Default Event for Counter" msgstr "" #. Tag: entry #, no-c-format msgid "Pentium Pro, Pentium II, Pentium III, Athlon, AMD64" msgstr "" #. Tag: entry #, no-c-format msgid "CPU_CLK_UNHALTED" msgstr "" #. Tag: entry #, no-c-format msgid "The processor's clock is not halted" msgstr "" #. Tag: entry #, no-c-format msgid "Pentium 4 (HT and non-HT)" msgstr "" #. Tag: entry #, no-c-format msgid "GLOBAL_POWER_EVENTS" msgstr "" #. Tag: entry #, no-c-format msgid "The time during which the processor is not stopped" msgstr "" #. Tag: entry #, no-c-format msgid "(none)" msgstr "" #. Tag: entry #, no-c-format msgid "Sample for each timer interrupt" msgstr "" #. Tag: entry #, no-c-format msgid "CYCLES" msgstr "" #. Tag: entry #, no-c-format msgid "Processor Cycles" msgstr "" #. Tag: para #, no-c-format msgid "" "The number of events that can be monitored at one time is determined by the " "number of counters for the processor. However, it is not a one-to-one " "correlation; on some processors, certain events must be mapped to specific " "counters. To determine the number of counters available, execute the " "following command:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "ls -d /dev/oprofile/[0-9]*\n" " " msgstr "" #. Tag: para #, no-c-format msgid "" "The events available vary depending on the processor type. To determine the " "events available for profiling, execute the following command as root (the " "list is specific to the system's processor type):" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile ophelp " "" msgstr "" #. Tag: indexterm #, no-c-format msgid " ophelp " msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "ophelp\n" " " msgstr "" #. Tag: para #, no-c-format msgid "" "The events for each counter can be configured via the command line or with a" " graphical interface. For more information on the graphical interface, refer" " to . If the counter cannot be set to a " "specific event, an error message is displayed." msgstr "" #. Tag: para #, no-c-format msgid "" "To set the event for each configurable counter via the command line, use " "opcontrol:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opcontrol --event=<event-name>:<sample-rate>\n" " \n" " " msgstr "" #. Tag: para #, no-c-format msgid "" "Replace <event-name> with the exact name of" " the event from ophelp, and replace <" ";sample-rate> with the number of events between samples." msgstr "" #. Tag: title #, no-c-format msgid "Sampling Rate" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile events sampling" " rate" msgstr "" #. Tag: para #, no-c-format msgid "" "By default, a time-based event set is selected. It creates a sample every " "100,000 clock cycles per processor. If the timer interrupt is used, the " "timer is set to whatever the jiffy rate is and is not user-settable. If the " "cpu_type is not " "timer, each event can have a " "sampling rate set for it. The sampling rate is the " "number of events between each sample snapshot." msgstr "" #. Tag: para #, no-c-format msgid "" "When setting the event for the counter, a sample rate can also be specified:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opcontrol --event=<event-name>:<sample-rate>\n" " \n" " " msgstr "" #. Tag: para #, no-c-format msgid "" "Replace <sample-rate> with the number of " "events to wait before sampling again. The smaller the count, the more " "frequent the samples. For events that do not happen frequently, a lower " "count may be needed to capture the event instances." msgstr "" #. Tag: title #, no-c-format msgid "Caution" msgstr "" #. Tag: para #, no-c-format msgid "" "Be extremely careful when setting sampling rates. Sampling too frequently " "can overload the system, causing the system to appear as if it is frozen or " "causing the system to actually freeze." msgstr "" #. Tag: title #, no-c-format msgid "Unit Masks" msgstr "" #. Tag: indexterm #, no-c-format msgid "OProfile unit mask" msgstr "" #. Tag: para #, no-c-format msgid "" "Some user performance monitoring events may also require unit masks to " "further define the event." msgstr "" #. Tag: para #, no-c-format msgid "" "Unit masks for each event are listed with the ophelp " "command. The values for each unit mask are listed in hexadecimal format. To " "specify more than one unit mask, the hexadecimal values must be combined " "using a bitwise or operation." msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opcontrol --event=<event-name>:<sample-rate>:<unit-mask>\n" " \n" " " msgstr "" #. Tag: title #, no-c-format msgid "Separating Kernel and User-space Profiles" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile configuring " "separating profiles" msgstr "" #. Tag: para #, no-c-format msgid "" "By default, kernel mode and user mode information is gathered for each " "event. To configure OProfile to ignore events in kernel mode for a specific " "counter, execute the following command:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opcontrol --event=<event-name>:<sample-rate>:<unit-mask>:0\n" " " msgstr "" #. Tag: para #, no-c-format msgid "" "Execute the following command to start profiling kernel mode for the counter" " again:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opcontrol --event=<event-name>:<sample-rate>:<unit-mask>:1\n" " " msgstr "" #. Tag: para #, no-c-format msgid "" "To configure OProfile to ignore events in user mode for a specific counter, " "execute the following command:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opcontrol --event=<event-name>:<sample-rate>:<unit-mask>:<kernel>:0\n" " " msgstr "" #. Tag: para #, no-c-format msgid "" "Execute the following command to start profiling user mode for the counter " "again:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opcontrol --event=<event-name>:<sample-rate>:<unit-mask>:<kernel>:1\n" " " msgstr "" #. Tag: para #, no-c-format msgid "" "When the OProfile daemon writes the profile data to sample files, it can " "separate the kernel and library profile data into separate sample files. To " "configure how the daemon writes to sample files, execute the following " "command as root:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opcontrol --separate=<choice>\n" " \n" " " msgstr "" #. Tag: para #, no-c-format msgid "<choice> can be one of the following:" msgstr "" #. Tag: para #, no-c-format msgid "" "none — do not separate the profiles " "(default)" msgstr "" #. Tag: para #, no-c-format msgid "" "library — generate per-application profiles for libraries" msgstr "" #. Tag: para #, no-c-format msgid "" "kernel — generate per-application profiles for the kernel" " and kernel modules" msgstr "" #. Tag: para #, no-c-format msgid "" "all — generate per-application profiles for libraries and" " per-application profiles for the kernel and kernel modules" msgstr "" #. Tag: para #, no-c-format msgid "" "If is used, the sample file name " "includes the name of the executable as well as the name of the library." msgstr "" #. Tag: para #, no-c-format msgid "" "These configuration changes will take effect when " "oprofile is restarted." msgstr "" #. Tag: title #, no-c-format msgid "Starting and Stopping OProfile" msgstr "" #. Tag: indexterm #, no-c-format msgid "OProfile starting" msgstr "" #. Tag: para #, no-c-format msgid "" "To start monitoring the system with OProfile, execute the following command " "as root:" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile opcontrol " " " msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opcontrol --start\n" " " msgstr "" #. Tag: para #, no-c-format msgid "Output similar to the following is displayed:" msgstr "" #. Tag: screen #, no-c-format msgid "" "Using log file /var/lib/oprofile/oprofiled.log Daemon started. Profiler " "running." msgstr "" #. Tag: para #, no-c-format msgid "" "The settings in /root/.oprofile/daemonrc are used." msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile oprofiled " "" msgstr "" #. Tag: indexterm #, no-c-format msgid " oprofiled OProfile" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile oprofiled " " log file" msgstr "" #. Tag: para #, no-c-format msgid "" "The OProfile daemon, oprofiled, is started; it " "periodically writes the sample data to the " "/var/lib/oprofile/samples/ directory. The log file for " "the daemon is located at " "/var/lib/oprofile/oprofiled.log." msgstr "" #. Tag: para #, no-c-format msgid "To stop the profiler, execute the following command as root:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opcontrol --shutdown\n" " " msgstr "" #. Tag: title #, no-c-format msgid "Saving Data" msgstr "" #. Tag: indexterm #, no-c-format msgid "OProfile saving data" msgstr "" #. Tag: para #, no-c-format msgid "" "Sometimes it is useful to save samples at a specific time. For example, when" " profiling an executable, it may be useful to gather different samples based" " on different input data sets. If the number of events to be monitored " "exceeds the number of counters available for the processor, multiple runs of" " OProfile can be used to collect data, saving the sample data to different " "files each time." msgstr "" #. Tag: para #, no-c-format msgid "" "To save the current set of sample files, execute the following command, " "replacing <name> with a unique descriptive " "name for the current session." msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opcontrol --save=<name>\n" " \n" " " msgstr "" #. Tag: para #, no-c-format msgid "" "The directory " "/var/lib/oprofile/samples/name/" " is created and the current sample files are copied to it." msgstr "" #. Tag: title #, no-c-format msgid "Analyzing the Data" msgstr "" #. Tag: indexterm #, no-c-format msgid "OProfile reading data" msgstr "" #. Tag: para #, no-c-format msgid "" "Periodically, the OProfile daemon, oprofiled, collects " "the samples and writes them to the " "/var/lib/oprofile/samples/ directory. Before reading " "the data, make sure all data has been written to this directory by executing" " the following command as root:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opcontrol --dump\n" " " msgstr "" #. Tag: para #, no-c-format msgid "" "Each sample file name is based on the name of the executable. For example, " "the samples for the default event on a Pentium III processor for " "/bin/bash becomes:" msgstr "" #. Tag: screen #, no-c-format msgid "\\{root\\}/bin/bash/\\{dep\\}/\\{root\\}/bin/bash/CPU_CLK_UNHALTED.100000" msgstr "" #. Tag: para #, no-c-format msgid "" "The following tools are available to profile the sample data once it has " "been collected:" msgstr "" #. Tag: para #, no-c-format msgid "" "Use these tools, along with the binaries profiled, to generate reports that " "can be further analyzed." msgstr "" #. Tag: title #, no-c-format msgid "Warning" msgstr "" #. Tag: para #, no-c-format msgid "" "The executable being profiled must be used with these tools to analyze the " "data. If it must change after the data is collected, backup the executable " "used to create the samples as well as the sample files. Please note that the" " sample file and the binary have to agree. Making a backup isn't going to " "work if they do not match. oparchive can be used to " "address this problem." msgstr "" #. Tag: para #, no-c-format msgid "" "Samples for each executable are written to a single sample file. Samples " "from each dynamically linked library are also written to a single sample " "file. While OProfile is running, if the executable being monitored changes " "and a sample file for the executable exists, the existing sample file is " "automatically deleted. Thus, if the existing sample file is needed, it must " "be backed up, along with the executable used to create it before replacing " "the executable with a new version. The oprofile analysis tools use the " "executable file that created the samples during analysis. If the executable " "changes the analysis tools will be unable to analyze the associated samples." " Refer to for details on how to" " backup the sample file." msgstr "" #. Tag: title #, no-c-format msgid "Using opreport" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile opreport " "" msgstr "" #. Tag: indexterm #, no-c-format msgid " opreport OProfile" msgstr "" #. Tag: para #, no-c-format msgid "" "The opreport tool provides an overview of all the " "executables being profiled." msgstr "" #. Tag: para #, no-c-format msgid "The following is part of a sample output:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "Profiling through timer interrupt\n" "TIMER:0|\n" "samples| %|\n" "------------------\n" "25926 97.5212 no-vmlinux\n" "359 1.3504 pi\n" "65 0.2445 Xorg\n" "62 0.2332 libvte.so.4.4.0\n" "56 0.2106 libc-2.3.4.so\n" "34 0.1279 libglib-2.0.so.0.400.7\n" "19 0.0715 libXft.so.2.1.2\n" "17 0.0639 bash\n" "8 0.0301 ld-2.3.4.so\n" "8 0.0301 libgdk-x11-2.0.so.0.400.13\n" "6 0.0226 libgobject-2.0.so.0.400.7\n" "5 0.0188 oprofiled\n" "4 0.0150 libpthread-2.3.4.so\n" "4 0.0150 libgtk-x11-2.0.so.0.400.13\n" "3 0.0113 libXrender.so.1.2.2\n" "3 0.0113 du\n" "1 0.0038 libcrypto.so.0.9.7a\n" "1 0.0038 libpam.so.0.77\n" "1 0.0038 libtermcap.so.2.0.8\n" "1 0.0038 libX11.so.6.2\n" "1 0.0038 libgthread-2.0.so.0.400.7\n" "1 0.0038 libwnck-1.so.4.9.0\n" msgstr "" #. Tag: para #, no-c-format msgid "" "Each executable is listed on its own line. The first column is the number of" " samples recorded for the executable. The second column is the percentage of" " samples relative to the total number of samples. The third column is the " "name of the executable." msgstr "" #. Tag: para #, no-c-format msgid "" "Refer to the opreport man page for a list of available " "command line options, such as the option used to sort " "the output from the executable with the smallest number of samples to the " "one with the largest number of samples." msgstr "" #. Tag: title #, no-c-format msgid "Using opreport on a Single Executable" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile opreport " " on a single executable" msgstr "" #. Tag: para #, no-c-format msgid "" "To retrieve more detailed profiled information about a specific executable, " "use opreport:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opreport <mode>\n" " <executable>\n" " \n" " " msgstr "" #. Tag: para #, no-c-format msgid "" "<executable> must be the full path to the " "executable to be analyzed. <mode> must be " "one of the following:" msgstr "" #. Tag: term #, no-c-format msgid "" msgstr "" #. Tag: para #, no-c-format msgid "" "List sample data by symbols. For example, the following is part of the " "output from running the command opreport -l " "/lib/tls/libc-<version>.so:" msgstr "" #. Tag: screen #, no-c-format msgid "" " samples % symbol name 12 21.4286 __gconv_transform_utf8_internal 5 8.9286 " "_int_malloc 4 7.1429 malloc 3 5.3571 __i686.get_pc_thunk.bx 3 5.3571 " "_dl_mcount_wrapper_check 3 5.3571 mbrtowc 3 5.3571 memcpy 2 3.5714 " "_int_realloc 2 3.5714 _nl_intern_locale_data 2 3.5714 free 2 3.5714 strcmp 1" " 1.7857 __ctype_get_mb_cur_max 1 1.7857 __unregister_atfork 1 1.7857 " "__write_nocancel 1 1.7857 _dl_addr 1 1.7857 _int_free 1 1.7857 _itoa_word 1 " "1.7857 calc_eclosure_iter 1 1.7857 fopen@@GLIBC_2.1 1 1.7857 getpid 1 1.7857" " memmove 1 1.7857 msort_with_tmp 1 1.7857 strcpy 1 1.7857 strlen 1 1.7857 " "vfprintf 1 1.7857 write " msgstr "" #. Tag: para #, no-c-format msgid "" "The first column is the number of samples for the symbol, the second column " "is the percentage of samples for this symbol relative to the overall samples" " for the executable, and the third column is the symbol name." msgstr "" #. Tag: para #, no-c-format msgid "" "To sort the output from the largest number of samples to the smallest " "(reverse order), use in conjunction with the " " option." msgstr "" #. Tag: term #, no-c-format msgid "" msgstr "" #. Tag: para #, no-c-format msgid "" "List sample data specific to a symbol name. For example, the following " "output is from the command opreport -l -i " "__gconv_transform_utf8_internal " "/lib/tls/libc-<version>.so:" msgstr "" #. Tag: screen #, no-c-format msgid " samples % symbol name 12 100.000 __gconv_transform_utf8_internal " msgstr "" #. Tag: para #, no-c-format msgid "The first line is a summary for the symbol/executable combination." msgstr "" #. Tag: para #, no-c-format msgid "" "The first column is the number of samples for the memory symbol. The second " "column is the percentage of samples for the memory address relative to the " "total number of samples for the symbol. The third column is the symbol name." msgstr "" #. Tag: term #, no-c-format msgid "" msgstr "" #. Tag: para #, no-c-format msgid "" "List sample data by symbols with more detail than . For " "example, the following output is from the command opreport -l -d " "__gconv_transform_utf8_internal " "/lib/tls/libc-<version>.so:" msgstr "" #. Tag: screen #, no-c-format msgid "" " vma samples % symbol name 00a98640 12 100.000 " "__gconv_transform_utf8_internal 00a98640 1 8.3333 00a9868c 2 16.6667 " "00a9869a 1 8.3333 00a986c1 1 8.3333 00a98720 1 8.3333 00a98749 1 8.3333 " "00a98753 1 8.3333 00a98789 1 8.3333 00a98864 1 8.3333 00a98869 1 8.3333 " "00a98b08 1 8.3333 " msgstr "" #. Tag: para #, no-c-format msgid "" "The data is the same as the option except that for each " "symbol, each virtual memory address used is shown. For each virtual memory " "address, the number of samples and percentage of samples relative to the " "number of samples for the symbol is displayed." msgstr "" #. Tag: term #, no-c-format msgid " <symbol-name>" msgstr "" #. Tag: para #, no-c-format msgid "Exclude the comma-separated list of symbols from the output." msgstr "" #. Tag: term #, no-c-format msgid ":<name>" msgstr "" #. Tag: para #, no-c-format msgid "" "Specify the full path to the session or a directory relative to the " "/var/lib/oprofile/samples/ directory." msgstr "" #. Tag: title #, no-c-format msgid "Getting more detailed output on the modules" msgstr "" #. Tag: indexterm #, no-c-format msgid " OProfile" msgstr "" #. Tag: para #, no-c-format msgid "" "OProfile collects data on a system-wide basis for kernel- and user-space " "code running on the machine. However, once a module is loaded into the " "kernel, the information about the origin of the kernel module is lost. The " "module could have come from the initrd file on boot up, the directory with " "the various kernel modules, or a locally created kernel module. As a result " "when OProfile records sample for a module, it just lists the samples for the" " modules for an executable in the root directory, but this is unlikely to be" " the place with the actual code for the module. You will need to take some " "steps to make sure that analysis tools get the executable." msgstr "" #. Tag: para #, no-c-format msgid "" "For example on an AMD64 machine the sampling is set up to record \"Data " "cache accesses\" and \"Data cache misses\" and assuming you would like to " "see the data for the ext3 module:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "$ opreport /ext3\n" "CPU: AMD64 processors, speed 797.948 MHz (estimated)\n" "Counted DATA_CACHE_ACCESSES events (Data cache accesses) with a unit mask of 0x00 (No unit mask) count 500000\n" "Counted DATA_CACHE_MISSES events (Data cache misses) with a unit mask of 0x00 (No unit mask) count 500000\n" "DATA_CACHE_ACC...|DATA_CACHE_MIS...|\n" "samples| %| samples| %|\n" "------------------------------------\n" "148721 100.000 1493 100.000 ext3\n" msgstr "" #. Tag: para #, no-c-format msgid "" "To get a more detailed view of the actions of the module, you will need to " "either have the module unstripped (e.g. installed from a custom build) or " "have the debuginfo RPM installed for the kernel." msgstr "" #. Tag: para #, no-c-format msgid "" "Find out which kernel is running, \"uname -a\", get the appropriate " "debuginfo rpm, and install on the machine." msgstr "" #. Tag: para #, no-c-format msgid "" "Then make a symbolic link so oprofile finds the code for the module in the " "correct place:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" " # ln -s /lib/modules/`uname -r`/kernel/fs/ext3/ext3.ko /ext3\n" " " msgstr "" #. Tag: para #, no-c-format msgid "Then the detailed information can be obtained with:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "# opreport image:/ext3 -l|more\n" "warning: could not check that the binary file /ext3 has not been modified since the profile was taken. Results may be inaccurate.\n" "CPU: AMD64 processors, speed 797.948 MHz (estimated)\n" "Counted DATA_CACHE_ACCESSES events (Data cache accesses) with a unit mask of 0x00 (No unit mask) count 500000\n" "Counted DATA_CACHE_MISSES events (Data cache misses) with a unit mask of 0x00 (No unit mask) count 500000\n" "samples % samples % symbol name\n" "16728 11.2479 7 0.4689 ext3_group_sparse\n" "16454 11.0637 4 0.2679 ext3_count_free_blocks\n" "14583 9.8056 51 3.4159 ext3_fill_super\n" "8281 5.5681 129 8.6403 ext3_ioctl\n" "7810 5.2514 62 4.1527 ext3_write_info\n" "7286 4.8991 67 4.4876 ext3_ordered_writepage\n" "6509 4.3767 130 8.7073 ext3_new_inode\n" "6378 4.2886 156 10.4488 ext3_new_block\n" "5932 3.9887 87 5.8272 ext3_xattr_block_list\n" "...\n" msgstr "" #. Tag: title #, no-c-format msgid "Using opannotate" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile opannotate " "" msgstr "" #. Tag: indexterm #, no-c-format msgid " opannotate OProfile" msgstr "" #. Tag: para #, no-c-format msgid "" "The opannotate tool tries to match the samples for " "particular instructions to the corresponding lines in the source code. The " "resulting files generated should have the samples for the lines at the left." " It also puts in a comment at the beginning of each function listing the " "total samples for the function." msgstr "" #. Tag: para #, no-c-format msgid "" "For this utility to work, the executable must be compiled with GCC's " " option. By default, &MAJOROS; packages are not compiled " "with this option." msgstr "" #. Tag: para #, no-c-format msgid "The general syntax for opannotate is as follows:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "opannotate --search-dirs <src-dir> --source <executable>\n" " \n" " " msgstr "" #. Tag: para #, no-c-format msgid "" "The directory containing the source code and the executable to be analyzed " "must be specified. Refer to the opannotate man page for a" " list of additional command line options." msgstr "" #. Tag: title #, no-c-format msgid "Understanding /dev/oprofile/" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile /dev/oprofile/ " "" msgstr "" #. Tag: indexterm #, no-c-format msgid " /dev/oprofile/ " msgstr "" #. Tag: para #, no-c-format msgid "" "The /dev/oprofile/ directory contains the file system " "for OProfile. Use the cat command to display the values " "of the virtual files in this file system. For example, the following command" " displays the type of processor OProfile detected:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "cat /dev/oprofile/cpu_type\n" " " msgstr "" #. Tag: para #, no-c-format msgid "" "A directory exists in /dev/oprofile/ for each counter. " "For example, if there are 2 counters, the directories " "/dev/oprofile/0/ and " "dev/oprofile/1/ exist." msgstr "" #. Tag: para #, no-c-format msgid "Each directory for a counter contains the following files:" msgstr "" #. Tag: para #, no-c-format msgid "count — The interval between samples." msgstr "" #. Tag: para #, no-c-format msgid "" "enabled — If 0, the counter is off and no samples are " "collected for it; if 1, the counter is on and samples are being collected " "for it." msgstr "" #. Tag: para #, no-c-format msgid "event — The event to monitor." msgstr "" #. Tag: para #, no-c-format msgid "" "kernel — If 0, samples are not collected for this " "counter event when the processor is in kernel-space; if 1, samples are " "collected even if the processor is in kernel-space." msgstr "" #. Tag: para #, no-c-format msgid "" "unit_mask — Defines which unit masks are enabled for " "the counter." msgstr "" #. Tag: para #, no-c-format msgid "" "user — If 0, samples are not collected for the counter " "event when the processor is in user-space; if 1, samples are collected even " "if the processor is in user-space." msgstr "" #. Tag: para #, no-c-format msgid "" "The values of these files can be retrieved with the cat " "command. For example:" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "cat /dev/oprofile/0/count\n" " " msgstr "" #. Tag: title #, no-c-format msgid "Example Usage" msgstr "" #. Tag: para #, no-c-format msgid "" "While OProfile can be used by developers to analyze application performance," " it can also be used by system administrators to perform system analysis. " "For example:" msgstr "" #. Tag: para #, no-c-format msgid "" "Determine which applications and services are used the most on a " "systemopreport can be used to determine how" " much processor time an application or service uses. If the system is used " "for multiple services but is under performing, the services consuming the " "most processor time can be moved to dedicated systems." msgstr "" #. Tag: para #, no-c-format msgid "" "Determine processor usage — The " "CPU_CLK_UNHALTED event can be monitored to " "determine the processor load over a given period of time. This data can then" " be used to determine if additional processors or a faster processor might " "improve system performance." msgstr "" #. Tag: title #, no-c-format msgid "Graphical Interface" msgstr "" #. Tag: indexterm #, no-c-format msgid " oprof_start " msgstr "" #. Tag: para #, no-c-format msgid "" "Some OProfile preferences can be set with a graphical interface. To start " "it, execute the oprof_start command as root at a shell " "prompt. To use the graphical interface, you will need to have the oprofile-gui package installed." msgstr "" #. Tag: para #, no-c-format msgid "" "After changing any of the options, save them by clicking the Save" " and quit button. The preferences are written to " "/root/.oprofile/daemonrc, and the application exits. " "Exiting the application does not stop OProfile from sampling." msgstr "" #. Tag: para #, no-c-format msgid "" "On the Setup tab, to set events for the processor " "counters as discussed in , select the" " counter from the pulldown menu and select the event from the list. A brief " "description of the event appears in the text box below the list. Only events" " available for the specific counter and the specific architecture are " "displayed. The interface also displays whether the profiler is running and " "some brief statistics about it." msgstr "" #. Tag: title #, no-c-format msgid "OProfile Setup" msgstr "" #. Tag: para #, no-c-format msgid "oprof_start interface" msgstr "" #. Tag: para #, no-c-format msgid "" "On the right side of the tab, select the Profile kernel" " option to count events in kernel mode for the currently selected event, as " "discussed in . If this " "option is unselected, no samples are collected for the kernel." msgstr "" #. Tag: para #, no-c-format msgid "" "Select the Profile user binaries option to count events" " in user mode for the currently selected event, as discussed in . If this option is unselected, " "no samples are collected for user applications." msgstr "" #. Tag: para #, no-c-format msgid "" "Use the Count text field to set the sampling rate for " "the currently selected event as discussed in ." msgstr "" #. Tag: para #, no-c-format msgid "" "If any unit masks are available for the currently selected event, as " "discussed in , they are " "displayed in the Unit Masks area on the right side of " "the Setup tab. Select the checkbox beside the unit mask" " to enable it for the event." msgstr "" #. Tag: para #, no-c-format msgid "" "On the Configuration tab, to profile the kernel, enter " "the name and location of the vmlinux file for the " "kernel to monitor in the Kernel image file text field. " "To configure OProfile not to monitor the kernel, select No kernel " "image." msgstr "" #. Tag: title #, no-c-format msgid "OProfile Configuration" msgstr "" #. Tag: para #, no-c-format msgid "" "If the Verbose option is selected, the " "oprofiled daemon log includes more information." msgstr "" #. Tag: para #, no-c-format msgid "" "If Per-application kernel samples files is selected, " "OProfile generates per-application profiles for the kernel and kernel " "modules as discussed in . " "This is equivalent to the opcontrol --separate=kernel " "command. If Per-application shared libs samples files " "is selected, OProfile generates per-application profiles for libraries. This" " is equivalent to the opcontrol --separate=library " "command." msgstr "" #. Tag: para #, no-c-format msgid "" "To force data to be written to samples files as discussed in , click the Flush " "profiler data button. This is equivalent to the " "opcontrol --dump command." msgstr "" #. Tag: para #, no-c-format msgid "" "To start OProfile from the graphical interface, click Start " "profiler. To stop the profiler, click Stop " "profiler. Exiting the application does not stop OProfile from " "sampling." msgstr "" #. Tag: title #, no-c-format msgid "Additional Resources" msgstr "" #. Tag: indexterm #, no-c-format msgid "" "OProfile additional resources" msgstr "" #. Tag: para #, no-c-format msgid "" "This chapter only highlights OProfile and how to configure and use it. To " "learn more, refer to the following resources." msgstr "" #. Tag: title #, no-c-format msgid "Installed Docs" msgstr "" #. Tag: para #, no-c-format msgid "" "/usr/share/doc/oprofile-<version>/oprofile.html" " — OProfile Manual" msgstr "" #. Tag: para #, no-c-format msgid "" "oprofile man page — Discusses " "opcontrol, opreport, " "opannotate, and ophelp" msgstr "" #. Tag: title #, no-c-format msgid "Useful Websites" msgstr "" #. Tag: para #, no-c-format msgid "" "http://oprofile.sourceforge.net/" " — Contains the latest documentation, mailing lists, IRC channels, and more." msgstr ""