Linux
系統依賴樹保存
據我所知, systemd將服務之間的依賴關係儲存在單元文件中。我需要知道 systemd 在啟動時的行為:
- 它是否從特定路徑載入單元文件並在每次啟動時重新計算依賴關係?
- 或者它將這個依賴圖儲存在某個文件中並在啟動時載入這個文件?
在 (2) 的情況下,我認為可以通過某些命令重新計算依賴關係圖,例如在 sysctl add 上。
正如我從資料中看到的那樣,它是(1)。但這似乎對性能有不良影響。為什麼(2)沒有實現?我錯了嗎?謝謝。
systemd 中的依賴圖只保存在記憶體中。載入單元或其屬性沒有(二進制)磁碟記憶體。
但這似乎對性能有不良影響。
每次發出
systemctl daemon-reload
或呼叫等效的匯流排方法(org.freedesktop.systemd1.Reload()
) 時,都會完全重新讀取單元文件並完全重新計算依賴關係圖,這是同步的。從該命令的執行時間可以看出,這種重新計算不會以任何方式阻礙性能。