当您在“dmesg”输出中发现可能的原因时,如何加快 Ubuntu 的启动时间?

当您在“dmesg”输出中发现可能的原因时,如何加快 Ubuntu 的启动时间?

更新到 Ubuntu 16.04 后,启动时间变长了一点(超过 10-15 秒)。我查看了“dmesg”输出,发现了以下内容:

[   23.882674] audit: type=1400 audit(1461650474.108:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/evince" pid=644 comm="apparmor_parser"
**[   23.882682]** audit: type=1400 audit(1461650474.108:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/evince//sanitized_helper" pid=644 comm="apparmor_parser"
**[   32.162714]** cgroup: new mount options do not match the existing superblock, will be ignored
[   32.777477] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   32.777480] Bluetooth: BNEP filters: protocol multicast

我假设“dmesg”输出左侧的数字是时间。如果我在这一步浪费了 9 秒,我该怎么做才能缩短启动时间?

答案1

Systemd负责启动过程。您可以通过禁用某些服务或尝试修复配置来改善它。要检查服务在启动过程中花费了多少时间,您可以运行:

systemd-analyze blame

为了图形化地详细查看你的启动过程,你可以生成一个绘图图像:

systemd-analyze plot > bootimage

现在你可以打开启动映像使用例如eog或其他图像查看器并检查服务所用的时间(以及例如系统在启动时停止的位置)。它将看起来像这样:

在此处输入图片描述

正如我们所见,例如virtualbox.service正在采取62毫秒这很好,但安装我的 F3 磁盘不是那么快。我可以考虑禁用自动安装(这是一个糟糕的例子,因为 systemd 正在启动服务平行线模式,并且此服务不会减慢启动时间,没有什么取决于它,但这就是它的工作原理)。 (在您的dmesg输出中,挂载选项有问题。您可以检查/etc/fstab

如果你想要禁用任何服务,最好了解是否有其他服务未将此服务用作依赖项。你可以在 virtualbox.service 示例中进行检查:

systemctl list-dependencies virtualbox.service --reverse 

输出显示没有任何相关的服务文件。因此,如果我不需要它,我可以停止并禁用它,而不会出现任何复杂情况:

sudo systemctl disable virtualbox.service --now

如果您发现系统中某些服务需要很长时间才能加载,请首先了解它到底在做什么,然后尝试修复相关的配置文件,或者如果您不需要它,请禁用它。

相关内容