如何提高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 产生了更大的差异,正如另一个答案所建议的那样。

相关内容