为什么在 grub 中使用“配置文件”来优化启动时间对我不起作用?如何恢复效果?

vla*_*ski 5 xubuntu boot grub2

在此处输入图片说明我想加快启动时间,我按照提示操作:

  1. 编辑“/etc/default/grub”并将该行更改GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"GRUB_CMDLINE_LINUX_DEFAULT="quiet splash profile"
  2. 运行sudo update-grub2并启动机器;
  3. 再次编辑 grub 配置文件并profileGRUB_CMDLINE_LINUX_DEFAULT;
  4. 再次更新 grub 并重新启动。

但结果是根据dmesg输出增加了 10 秒的启动时间!

什么地方出了错?为什么这个提示对我不起作用?如何恢复此设置?这个配置文件在Xubuntu中保存在哪里?我可以毫无问题地删除这个新配置文件吗?

Nep*_*nte 8

开头的一句话:尽管您对 Ubuntu 13.10 感到满意,但我仍然强烈建议升级到 14.04 LTS。Saucy 已经停产一年多了,这意味着从那时起您没有收到任何更新 - 在安全方面不是很好。此外,从技术上讲,EOL 版本在这里是题外话。


内核启动参数profile是启动时预读分析的触发器。如果设置了readahead守护进程将监视引导过程,查找引导期间加载的文件并写入适当的列表文件。该文件将在下次启动时使用,并且应该通过减少硬盘驱动器的搜索来缩短启动时间。

这些年来,有一些这样的预读机制来来去去。这是我对它们的看法,我希望这或多或少是准确的。

原始readahead(已弃用)

在 Ubuntu 档案中找到的最后一个版本可以追溯到 2005 年。您不能再通过存储库安装它。我不知道它是什么时候成为超级种子的,但肯定是在 10.04 之前的某个时间。

  • 配置文件存储在/etc/readahead/boot.
  • 通过boot使用内核参数移动和引导来触发分析profile,尽管此错误报告表明它是一个未记录且仅限开发人员的选项。

readahead 来自 Fedora

最初来自 Fedora,仍然用于不使用systemd.

  • Ubuntu 软件包是readahead-fedora. 可通过存储库获得。
  • 取代原来的 readahead
  • 配置文件存储在 /etc/readahead.d/custom.{early,later}
  • 由任一触发的分析
    • touch /readahead_collect 或者
    • profile在启动时设置内核参数。
  • 至少每月自动配置文件
  • 在 Ubuntu 上被取代 ureadahead

原始readaheadreadahead-fedora创建了启动时所需的文件列表。此列表将在启动时以最小化硬盘驱动器搜索的顺序读取。

ureadahead

这是 Ubuntu 上的默认设置,因为 - 我认为 - 10.04。

  • 预装
  • 真正创建一个页面文件,在启动时加载到内存中。
  • 存储在/var/lib/ureadahead/pack. 要在下次启动时强制分析,请删除此文件。
  • 安装dpkg触发器,只要安装了与init.

Ubuntu >= 15.04

systemd是vivid以来的默认初始化系统。它带来了自己的预读机制。ureadahead不适用于systemd. 但即使systemd-readahead现在没有维护和弃用,因为现在显然每个人都拥有 SSD……ureadahead在使用upstart.


正如预期的那样,您的系统已ureadahead安装,但不带profile参数。无法理解为什么设置配置文件后启动时间会延长。如果您还在遵循的操作方法 ( CONCURRENCY=...) 中应用了第二个 hack ,则这可能是罪魁祸首。upstart应该自己处理。

如前所述,要强制ureadahead重新配置文件,请删除pack文件

sudo rm /var/lib/ureadahead/pack
Run Code Online (Sandbox Code Playgroud)

可能还有.pack该目录中的任何其他内容。开机后一定要快点登录,因为开机后还是会ureadahead记录一点的。通过这种方式,它有望还包括统一外壳或您正在使用的任何东西。

如果您想真正了解需要多长时间才能开始,请查看bootchart。它生成引导过程的图形表示。