私が知っていることシステムサービス間の依存関係を単位ファイルに保存します。起動時にsystemdがどのように機能するかを知る必要があります。
特定のパスからユニットファイルをロードして起動するたびに依存関係を再計算しますか?
または、この依存関係グラフを一部のファイルに保存し、起動時にそのファイルをロードしますか?
(2)の場合は、sysctl addなどのいくつかのコマンドを使用して依存関係グラフを再計算できると思います。
ソースを読んでみると(1)です。しかし、これはパフォーマンスに悪影響を及ぼすようです。 (2)が実装されていないのはなぜですか?私は間違っていますか?ありがとうございます。
ベストアンサー1
systemdの依存関係グラフはメモリにのみ保持されます。ロード単位またはその属性の(バイナリ)ディスクキャッシュはありません。
しかし、これはパフォーマンスに悪影響を及ぼすようです。
systemctl daemon-reload
そのエントリが実行または呼び出されるたびに、ユニットファイルが完全に再読み込みされ、依存関係グラフが完全に再計算されます。バスモード(org.freedesktop.systemd1.Reload()
)は同期式です。このコマンドの実行時間からわかるように、この再計算はパフォーマンスに影響を与えません。