openSUSE 10.3 抢先预览:大幅提升启动时间
2007年8月12日 | 新闻团队 | 无许可
openSUSE 10.3 将包含许多新的改进和令人兴奋的技术。为了让您了解开发者们在过去几个月里幕后努力工作的内容,我们为您带来一个小系列:openSUSE 10.3 抢先预览。今天我们来看看 openSUSE 中启动时间方面的新改进。
openSUSE 10.3 将包含对 init 启动脚本的重大改进,这将大大减少计算机启动所需的时间。这些改进源于许多不同的测试和研究(记录在 此处 和 此处);第一轮改进已经提交,并将包含在最终版本中。
测试和雨天
Frank Ruell 进行了多项测试,包括使用 fcache 内核补丁、Ubuntu 的 SysV init 替代方案 upstart 以及 ext3 块重映射器。这促使现在 openSUSE 的项目经理 Stephan Kulow 在 一个下雨的周末 开始进行一些工作。结果非常令人印象深刻,因此我们使用 bootchart 进行了一些额外的测试,以获得一些具体数据。
以下所有结果均来自 Sony Vaio VGN-FE11S,采用完全默认安装、本地用户,并通过 DHCP 配置 IP。在 openSUSE 10.2 中启动非常慢。从引导加载程序屏幕(GRUB)到登录屏幕(KDM 在整个过程中使用)需要痛苦的 55 秒左右;在 openSUSE 10.3 Beta 1 中,这已经减少到仅 27 秒!
以下是各自的启动图表
与 Stephan Kulow 交谈
为了了解具体更改内容并获取更多信息,我们与他本人进行了交谈。
你最终做了哪些更改?
在您的 10.2 启动图表中,显而易见的是 ZMD 显著延迟了启动时间,并且由于 libzypp 和 zypper,我们成功将其移除。我们将所有在启动时扫描硬件的启动脚本从默认安装中移除。因此,现在我们仅依赖 YaST 来例如,如果存在 lvm 设置,则安装 lvm2。我还修补了 startpar(我们自永远以来就有的“initng”)以优先启动 xdm 而不是其他所有内容。
我审查了启动和关闭期间的所有休眠,看看是否可以用更有用的东西来代替,并且我审查了在 *dm 之前启动的所有内容,看看它是否真的必要。例如,我们现在延迟防火墙设置,直到网络启动本身实际到期。过去它会在所有内容之前启动,这实际上比必要的更安全。我还优化了预加载列表,以便我们仅预加载专门提高启动时间的物品。哦,我们发现了一个大错误 - SaX2 将 xfs 的支持写入了默认 X 配置,如果您的系统没有 xfs,则会导致 5 秒的休眠。
我注意到关闭时间也显著减少了。发生了什么?
在关闭时,我通过简单地休眠而不是等待我们正在等待的事件来节省了 8 秒。
未来有什么计划?
对于微小的更改,可能只有 1-2 秒的潜力,但我们的大计划是在线碎片整理。声称 Linux 不需要碎片整理的人一定从未启动过系统。例如,在您上面的 10.2 安装中,经过 2-5 次系统更新后,启动可能需要 80 秒。这是因为更新会碎片化您需要启动的文件,因此您会进行大量搜索,这会导致更多延迟。
您可以查看 Fengguang Wu 的 Boot Linux Faster 演讲以获取更多信息。
谢谢!
分类: 发行版
标签