如何提高OpenRC系統的啟動時間?

如何提高OpenRC系統的啟動時間?

我的根圖系統與OpenRC 初始化啟動時間較長,約24秒(從GRUBGDM)。我想知道這次是否有任何改進的建議方法。但我發現,網路上關於這個主題的資訊並不多。

我有一個 Intel Core i5-6400 和一個 Samsung SSD 970 EVO Plus 500GB。

答案1

每個人都喜歡快速的系統啟動,尤其是在日常使用的桌上型電腦上。 24 秒是一個相當慢的啟動時間,我能夠將其減少到9秒

我將向您展示一些技巧,無需觸及您的核心。

/etc/rc.conf

讓我們從 OpenRC 設定檔開始。有一個選項稱為rc_parallel.預設情況下,服務是一項一項啟動的,當某些服務花費更多時間時,就會延遲其他服務。設定rc_parallel="YES"允許 RC 系統嘗試並行啟動服務,以稍微提高速度。就我而言,它是 -5 秒。

A也要設置,,,,rc_send_sighup="YES"因為xdm服務rc_timeout_stopsec="10"rc_send_sigkill="YES"不想停下來關閉系統時。

rc 服務、rc 更新

另一件重要的事情是了解哪些服務正在實際啟動。這就是您在啟動過程中看到的輸出。如果你想記錄此輸出,在文件rc_logger="YES"中設定。/etc/rc.conf您可以在這裡找到確切的時間、警告訊息或錯誤。

服務分為所謂的運行等級,表示這些服務開始的時間段。系統啟動涉及兩個運行級別。bootdefault

您可以使用以下命令列出所有服務及其運行等級:rc-update show
或者您可以使用以下命令列出所有正在運行和已停止的服務:rc-status --servicelist

就我而言,我發現了一些不必要的服務,我可以安全地停用它們。例如bluetoothnetmountnet.enp0s31f6設定我的網路介面的服務。即使我使用NetworkManager服務它也已啟用。我不需要這些服務,但禁用它們又導致了 10 秒的延遲。

您可以使用以下命令停用特定運行等級的服務:rc-update del <service> <runlevel>

總是檢查特定服務的作用,在禁用它之前。您最終可能會得到一個損壞的系統。


我希望這可以幫助別人並節省我必須花費的時間。

答案2

嘗試安裝app-shells/dash包,然後使/bin/sh符號連結指向dash.後者可以手動或使用eselect sh子命令完成。

第一個預設執行此操作的發行版是十多年前的 Ubuntu (IIRC),它比嘗試並行運行 initscript 產生了更大的差異,正如另一個答案所建議的那樣。

相關內容