Profilovanie
Ako profilovať váš systém
Keď aplikácia Sysprof profiluje váš systém, zaznamenáva informácie o zásobníku pre všetky bežiace aplikácie vrátane jadra Linuxu. To môže v prípadoch, kedy chcete sledovať iba jeden proces, pôsobiť dosť mätúco. Ak vaša aplikácia s hostiteľským systémom príliš neinteraguje, môžete dosiahnuť lepšie výsledky tak, že použijete Sysprof na spustenie nového procesu.
Aby ste profilovali celý systém, uistite sa, že tlačidlo cieľa je nastavené na Všetky procesy a potom kliknite na Zaznamenať.
V tomto momente môžete byť vyzvaní na autorizáciu prístupu k profilovaniu systému. Je to potrebné, pretože implementácia perf v jadre Linuxu vyžaduje práva roota pre profilovanie celého systému.
Počas relácie profilovania uvidíte počet sekúnd, počas ktorých bolo profilovanie aktívne. Opätovným kliknutím na tlačidlo Zaznamenať reláciu ukončíte. Následne sa zobrazí graf volaní (callgraph).
Ak zistíte, že sa aplikácia Sysprof objavuje vo vašom grafe volaní pri profilovaní, zvážte zaznamenanie relácie pomocou príkazového riadka sysprof-cli. Ide o program príkazového riadka, ktorý zachytí vašu reláciu profilovania na disk pre neskoršie zobrazenie.
Ďalšie pokyny nájdete v sekcii vyhodnocovanie výsledkov.
Profilovanie nového procesu
Často budete musieť spustiť nový proces na profilovanie. Najprv vyberte tlačidlo Aplikácia v hornej časti okna nahrávania. Zadajte svoj príkaz a pracovný adresár a prípadne špecifikujte akékoľvek premenné prostredia, ktoré potrebujete. Váš proces sa spustí po začatí nahrávania.
Ak spúšťate proces, ktorý vyžaduje prístup k vašej aktuálnej obrazovke, ako je napríklad aplikácia GTK+, uistite sa, že je nastavená možnosť Zdediť súčasné prostredie.
Profilovanie pomocou nástroja príkazového riadka sysprof-cli
Ak chcete minimalizovať preťaženie, zvážte použitie nástroja príkazového riadka sysprof-cli. Pri spustení bez akýchkoľvek argumentov zaznamená celý váš systém a uloží výstup do súboru capture.syscap. Tento súbor môžete otvoriť v aplikácii Sysprof pre zobrazenie grafu volaní.
Ak chcete spustiť nový proces, použite príkaz sysprof-cli -- 'príkaz' na zadanie príkazu, ktorý sa má spustiť. Tento príkaz zdedí aktuálne prostredie.
Vyhodnocovanie výsledkov
Výsledky profilovania v aplikácii Sysprof sú rozdelené do troch sekcií. Vľavo hore je zoznam všetkých profilovaných funkcií. Sú zoradené podľa počtu volaní počas nahrávania.
Je dôležité si uvedomiť, že sa nezaznamenáva čas strávený v každej funkcii. To by vyžadovalo sledovací profilovač na presné zaznamenávanie. Percentuálny podiel je vypočítaný určením toho, ako často sa daná funkcia objavila v aktuálnom zázname zásobníka (stacktrace) pri každom vzorkovaní.
Po výbere funkcie zo zoznamu funkcií sa vľavo dole zobrazia všetci zaznamenaní volatelia tejto funkcie. Tiež sú zoradené podľa percenta vzoriek, ktoré túto funkciu obsahovali v zázname zásobníka.
Vpravo sa nachádzajú všetci potomkovia vybranej funkcie. Funkciu môžete vybrať buď zo zoznamu funkcií, alebo zo zoznamu volateľov.
Ak vo výsledkoch uvidíte - - Context Switch - -, znamená to, že sa aplikácia presunula do jadra Linuxu alebo z neho. Môže na tom byť mnoho dôvodov, ako napríklad syscall (volanie systému) alebo signal (signál).