web-dev-qa-db-ja.com

systemdがデフォルトのターゲットを起動してグラフ化するのに必要な時間をカウントするにはどうすればよいですか?

Systemdがデフォルトのターゲットを起動するのに実際に必要な時間を知りたい場合、どうすればよいですか?それでは、どのユニットが初期化にどのくらいの時間がかかり、どの程度並行して実行されているかを示すグラフを作成することは可能ですか?

2
drpaneas

使用する systemd-analyze組み込みツール。あなたは特に2つのオプションに興味があります:非難とプロット

systemd-analyze blame
systemd-analyze plot > graph.svg
  • blame:初期化する時間順に実行中のユニットのリストを出力します
  • plot:サービスの初期化を示す出力SVGグラフィック
4
jimmij

システムの起動にかかる時間を調べるために、systemdはsystemd-analyzeを提供します。パラメータがないと、起動する時間がわかります。

systemd-analyze critical-chainを呼び出すと、最も時間がかかった一連のサービスのツリーが出力され、systemd-analyze blameを呼び出すと、各サービスが個別にかかった時間がわかります。最後に、systemd-analyze plot > boot.svgは、すべてをうまく表示する小さなグラフを作成します。

より洗練されたグラフが必要な場合は、Arch Linux wikiに Bootchart の使用に関する優れた記事があります。これは、その名前が示すように、ブートグラフを作成します。

2
aprad046