Windows 服務的啟動類型中的「延遲啟動」有何作用?

Windows 服務的啟動類型中的「延遲啟動」有何作用?

Windows 服務的屬性設定的自動和自動(延遲啟動)之間有什麼區別?即,透過將我的服務設定為其中一種或另一種,我會得到什麼或失去什麼?

在 Windows Server 2008 x64 上執行服務

答案1

服務標記為自動(延遲啟動)將在指定為的所有其他服務之後不久開始自動的已經開始。根據我的經驗,這意味著它們會在電腦啟動後 1-2 分鐘啟動。

此設定對於減少機器啟動時對資源的「瘋狂爭奪」最有用。

請注意,當您同時啟動 20 個服務時,每個服務的啟動速度都會變慢,因為它會與其他服務競爭機器的寶貴資源(CPU/RAM/磁碟/網路)。也就是說,每項服務都需要更長的時間才能可用!

如果您有一些重要的服務,那麼您可能需要將這些服務設定為自動的並儘可能多地設定其他的自動(延遲啟動)。這將確保關鍵服務儘早獲得最多資源並更快可用,而非關鍵服務則稍晚啟動(根據定義這是可以的)。

答案2

據我了解,這只是啟動服務之前的延遲。

Windows 的更高版本引入了這一點,以確保它們在啟動過程中不會互相絆倒(同時啟動大量進程不利於效能)。

此功能的文件指出,如此標記的服務將在「啟動後不久」啟動,希望在啟動時間所需的服務穩定下來後啟動。

答案3

這主要用於以 AD 帳戶啟動的服務。如果服務在伺服器有網路連線來聯繫 DC 之前嘗試啟動,它將失敗,有時系統會卡住並且無法存取。

延遲可確保服務在網路連線建立後立即啟動,以便使用 AD 帳號。

答案4

這是一個例子。我有一個 SonarQube 服務,它依賴我的 MySQL 資料庫服務。因此,我將 MySQL 服務設定為自動,以便在機器啟動時啟動並執行資料庫。我將 SonarQube 服務設定為自動(延遲)啟動,以確保它在它所依賴的資料庫服務啟動後啟動。

如果您有這樣的依賴項,那麼使用延遲啟動來確保依賴服務以正確的順序啟動會很有幫助。

相關內容