Košík je prázdný

Vývoj a správa softwaru na Linuxu může být náročný, zvláště když se setkáte s neočekávaným chováním nebo problémy s výkonem. strace je nástroj, který vám umožní nahlédnout do toho, co se děje "pod kapotou" vaší aplikace tím, že sleduje systémová volání mezi aplikací a jádrem operačního systému. V tomto článku prozkoumáme, jak strace používat pro analýzu a diagnostiku aplikací na CentOS 7.

Instalace strace na CentOS 7

Než začnete strace používat, musíte se ujistit, že je nainstalovaný na vašem systému. Na CentOS 7 můžete strace nainstalovat pomocí správce balíčků yum. Otevřete terminál a spusťte následující příkaz:

sudo yum install strace

Základní použití strace

Po instalaci můžete strace spustit k analýze jakéhokoli spuštěného procesu. Základní syntaxe příkazu je:

strace [možnosti] [příkaz]

Pro spuštění strace na již běžící proces použijte možnost -p následovanou ID procesu (PID):

strace -p PID

Pokud chcete sledovat, jak aplikace spouští nové procesy, můžete přidat možnost -f, která sleduje všechny dceřiné procesy vyvolané původním procesem.

Analýza výstupu

Výstup strace může být na první pohled obtížně srozumitelný, ale poskytuje cenné informace o tom, jak aplikace interaguje s operačním systémem. Každá řádka výstupu obvykle obsahuje jedno systémové volání spolu s jeho argumenty a návratovou hodnotou. Například:

open("/etc/hosts", O_RDONLY) = 3

Tento řádek ukazuje, že aplikace se pokusila otevřít soubor /etc/hosts pouze pro čtení (O_RDONLY) a operace skončila úspěšně s návratovou hodnotou 3, což je file descriptor otevřeného souboru.

Použití pro diagnostiku problémů s výkonem

strace může být také užitečný pro diagnostiku problémů s výkonem. Možnost -c zobrazí souhrnnou statistiku systémových volání po ukončení sledování. To může pomoci identifikovat volání, která se používají nejčastěji nebo kde může docházet k zdržení.

strace -c -p PID

strace je mocný nástroj pro vývojáře a správce systémů, který umožňuje hlubší porozumění chování aplikací na systému. Jeho schopnost sledovat systémová volání v reálném čase a poskytovat podrobné informace o interakcích mezi aplikacemi a jádrem operačního systému je neocenitelná pro diagnostiku a řešení problémů. S praxí a trpělivostí se strace stane nezbytným nástrojem ve vašem vývojářském nebo administrátorském arzenálu.