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