systemd スロースタート - systemd-tmpfiles-setup

systemd スロースタート - systemd-tmpfiles-setup

最近Debian jessieにアップグレードしました(現在テスト中)、それ以降は平均起動時間が3〜4分に増加しました。

開始から2〜3分以内にこのメッセージが表示されますgrubgdm

A job is running for creating volatile and temporary files and directories

これが出力ですsystemd-analyze blame

[smit: ~] $ systemd-analyze blame 
    3min 14.096s systemd-tmpfiles-setup.service
          8.657s NetworkManager.service
          8.244s apache2.service
          7.048s ModemManager.service
          6.328s networking.service
          6.004s accounts-daemon.service
          5.288s binfmt-support.service
          4.557s systemd-logind.service
          4.541s alsa-restore.service
          4.541s console-kit-log-system-start.service
          4.530s lm-sensors.service
          4.521s pppd-dns.service
          4.520s redis-server.service
          4.519s hostapd.service
          4.519s minissdpd.service
          4.519s timidity.service
          4.519s nvidia-kernel.service
          4.518s rc-local.service
          4.437s bluetooth.service
          4.408s avahi-daemon.service
          2.243s systemd-fsck-root.service
          1.437s exim4.service
          1.415s keyboard-setup.service

システムの起動後、エラーは報告されsystemctlません。

[smit: ~] $ sudo systemctl status systemd-tmpfiles-setup
● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
   Loaded: loaded (/lib/systemd/system/systemd-tmpfiles-setup.service; static)
   Active: active (exited) since Fri 2014-10-17 01:19:09 IST; 1h 41min ago
     Docs: man:tmpfiles.d(5)
           man:systemd-tmpfiles(8)
  Process: 230 ExecStart=/bin/systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev (code=exited, status=0/SUCCESS)
 Main PID: 230 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/systemd-tmpfiles-setup.service

なぜsystemd-tmpfiles-setup.service起動が遅いのですか?詳細なログはどこで入手できますかsystemd-tmpfiles-setup.service

ベストアンサー1

systemd がシステムを起動したときに開始される最初のサービス単位の 1 つは systemd-tmpfiles-setup です。サービスは次のコマンドを実行します。

# systemd-tmpfiles --create --remove 

このコマンドは、次の場所から構成ファイルを読み取ります(最初に関連性はありません)。

  • /usr/lib/tmpfiles.d/*.conf- このファイルは関連RPMパッケージで提供されるため、システム管理者は編集しないでください。
  • /run/tmpfiles.d/*.conf- このファイルは通常、デーモンプロセスで独自のランタイム一時ファイルを管理するために使用されます。
  • /etc/tmpfiles.d/*.conf- このファイルは、sysadmisでカスタム一時的な場所を設定し、ベンダーによって提供されたデフォルト値を上書きするために使用されます。

一時ファイルを保存できる3つの場所もあります。

  • /var- このシステムに関連する変数データは、リリース間で維持する必要があります。
  • /走る- 最後の開始以降に開始されたプロセスの実行時データ。これには、プロセスIDファイル、ロックファイルなどが含まれます。このディレクトリの内容は、再起動時に再生成されます。
  • /tmp- 一時ファイルのための世界中の書き込み可能スペース。 10日以内にアクセス、変更、変更されていないファイルは自動的に削除されます。 / var / tmpには別の一時ディレクトリがあります。ここで、30日以上アクセス、変更、または変更されていないファイルは自動的に削除されます。

合計:
tmp 構成ファイルを調べて、tmp 設定になぜそれほど時間がかかるのかを確認します。特に、/runディレクトリのエントリは起動時に再生成されるため、さらにそうです。

おすすめ記事