我的根圖系統與OpenRC 初始化啟動時間較長,約24秒(從GRUB到GDM)。我想知道這次是否有任何改進的建議方法。但我發現,網路上關於這個主題的資訊並不多。
我有一個 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
您可以在這裡找到確切的時間、警告訊息或錯誤。
服務分為所謂的運行等級,表示這些服務開始的時間段。系統啟動涉及兩個運行級別。boot
和default
。
您可以使用以下命令列出所有服務及其運行等級:rc-update show
。
或者您可以使用以下命令列出所有正在運行和已停止的服務:rc-status --servicelist
就我而言,我發現了一些不必要的服務,我可以安全地停用它們。例如bluetooth
,netmount
或net.enp0s31f6
設定我的網路介面的服務。即使我使用NetworkManager
服務它也已啟用。我不需要這些服務,但禁用它們又導致了 10 秒的延遲。
您可以使用以下命令停用特定運行等級的服務:rc-update del <service> <runlevel>
。
總是檢查特定服務的作用,在禁用它之前。您最終可能會得到一個損壞的系統。
我希望這可以幫助別人並節省我必須花費的時間。
答案2
嘗試安裝app-shells/dash
包,然後使/bin/sh
符號連結指向dash
.後者可以手動或使用eselect sh
子命令完成。
第一個預設執行此操作的發行版是十多年前的 Ubuntu (IIRC),它比嘗試並行運行 initscript 產生了更大的差異,正如另一個答案所建議的那樣。