Systemdがデフォルトのターゲットを起動するのに実際に必要な時間を知りたい場合、どうすればよいですか?それでは、どのユニットが初期化にどのくらいの時間がかかり、どの程度並行して実行されているかを示すグラフを作成することは可能ですか?
使用する systemd-analyze
組み込みツール。あなたは特に2つのオプションに興味があります:非難とプロット
systemd-analyze blame
systemd-analyze plot > graph.svg
blame
:初期化する時間順に実行中のユニットのリストを出力しますplot
:サービスの初期化を示す出力SVGグラフィックシステムの起動にかかる時間を調べるために、systemdはsystemd-analyze
を提供します。パラメータがないと、起動する時間がわかります。
systemd-analyze critical-chain
を呼び出すと、最も時間がかかった一連のサービスのツリーが出力され、systemd-analyze blame
を呼び出すと、各サービスが個別にかかった時間がわかります。最後に、systemd-analyze plot > boot.svg
は、すべてをうまく表示する小さなグラフを作成します。
より洗練されたグラフが必要な場合は、Arch Linux wikiに Bootchart の使用に関する優れた記事があります。これは、その名前が示すように、ブートグラフを作成します。