Red Hat Training

A Red Hat training course is available for RHEL 8

第18章 起動時間を短縮するための systemd の最適化

デフォルトで有効になっている systemd ユニットファイルの一覧があります。システムの起動時に、このようなユニットファイルで定義されているシステムサービスが自動的に実行し、システムの起動時間に影響を及ぼします。

本セクションでは、以下を説明します。

  • システムの起動パフォーマンスを調べるツール
  • systemd ユニットがデフォルトで無効になっている目的と、起動時間を短縮するために、このような systemd ユニットを無効にしても安全な状況

18.1. システムの起動パフォーマンスを調べる

システムの起動時のパフォーマンスを調べる場合は、systemd-analyze コマンドを使用できます。このコマンドでは、多数のオプションが使用できます。ただし、本セクションでは、起動時間を短縮するために、systemd を調整する際に重要なものだけを説明します。

オプションの完全リストおよび詳細な説明は、systemd-analyze の man ページを参照してください。

前提条件

システムの起動時に調整するために、systemd を調べる前に、有効なサービスの一覧を表示することもできます。

$ systemctl list-unit-files --state=enabled

システム全体の起動時間の分析

手順

  • システムが最後に起動してからの時間に関する総合的な情報を表示する場合は、次のコマンドを実行します。
$ systemd-analyze

ユニットの初期化時間の分析

手順

  • 各 systemd ユニットの初期化時間の詳細を確認する場合は、次のコマンドを実行します。
$ systemd-analyze blame

この出力では、システムが最後に起動した時に初期化にかかった時間に応じて、ユニットが降順で表示されます。

重要なユニットの識別

手順

  • システムが最後に起動した時に、初期化に最も時間がかかったユニットを特定するには、次のコマンドを実行します。
$ systemd-analyze critical-chain

この出力では、起動に非常に時間がかかっているユニットが、赤字で強調表示されています。

図18.1 systemd-analyze critical-chain コマンドの出力

systemd で重要なものを分析