systemdがデフォルトのターゲットを起動するのにかかる時間をどのように計算してグラフ化できますか?

systemdがデフォルトのターゲットを起動するのにかかる時間をどのように計算してグラフ化できますか?

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での使用に関する良い記事があります。案内図名前が示すように、開始グラフを生成します。

関連情報