Ureadahead 减慢了 Ubuntu 12.04 的启动过程

Ureadahead 减慢了 Ubuntu 12.04 的启动过程

我使用的是安装在 WD Velociraptor(10.000 rpm)硬盘上的 Ubuntu 12.04 64 位。我没有使用 Wubi,这是一个清晰的安装。

我认为启动时“添加交换”过程耗时太长。起初我以为这与交换安装有关,但正如您所见,我发现问题出在“ureadahead”守护进程中。

您可以看到以下dmesg部分输出:

[    5.347709] Console: switching to colour frame buffer device 210x65
[    5.351756] fb0: VESA VGA frame buffer device
[    5.613411] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)
[   21.421858] Adding 1227772k swap on /dev/sda5.  Priority:-1 extents:1 across:1227772k 
[   21.425834] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   21.425841] ADDRCONF(NETDEV_UP): eth1: link is not ready

完成dmesg输出

考虑到我的硬盘速度,这种延迟是不正常的。

升级到最新内核(从 3.2.0.35 升级到 3.2.0.36)或删除“/var/lib/ureadahead/pack”文件后,问题暂时得到解决,但仅持续一次启动。
第二次启动后,问题再次出现。

dmesg当一切正常时,这是输出:

[    5.120096] Console: switching to colour frame buffer device 210x65
[    5.124150] fb0: VESA VGA frame buffer device
[    5.285586] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)
[    6.953086] Adding 1227772k swap on /dev/sda5.  Priority:-1 extents:1 across:1227772k 
[    7.516909] ADDRCONF(NETDEV_UP): eth0: link is not ready
[    7.516916] ADDRCONF(NETDEV_UP): eth1: link is not ready

完成dmesg输出

正如评论中所建议的,我试图禁用交换安装,并且延迟被转移到下一个过程,因此看起来这与交换安装无关
dmesg输出:

[ 5.862973] EXT4-fs (sda3): recovery complete 
[ 5.887252] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null) 
[ 17.589428] ADDRCONF(NETDEV_UP): eth0: link is not ready 
[ 17.589435] ADDRCONF(NETDEV_UP): eth1: link is not ready

@gertvdijk 注意到在最新的dmesg输出中我的系统从某些东西中恢复过来,但是这只是在我从“/etc/fstab”中注释掉交换后发生的。

我发现问题了
Ureadahead 减慢了启动过程。这很奇怪,因为应该发生相反的情况!
下面我发布了三种不同启动的bootchart图像和dmesg输出:

  1. 不使用 ureadahead(禁用后指导)没有延迟:
    dmesg 输出(ureadahead 已禁用)
    bootchart 输出(ureadahead 已禁用)
  2. 启用 ureadahead 后,首次启动(首次构建包文件)无延迟:
    dmesg 输出(ureadahead 已启用)
    bootchart 输出(ureadahead 已禁用)

  3. 启用 ureadahead 后,第二次启动(ureadahead 完全工作)延迟又回来了:
    dmesg 输出(ureadahead 已启用第二次启动)
    bootchart 输出(ureadahead 禁用第二次启动)

笔记
我的问题似乎与此重复由于挂载文件系统导致启动非常慢这与 Ubuntu 11.04 有关并且尚无解决方案!如果有管理员读到这篇文章,我不知道是否必须删除我的问题作为重复,因为问题似乎不是交换安装...如果是这样,请删除它,或者请通知我这样做!

答案1

答案2

ureadahead 会在下次启动时运行,此时内核等关键软件包会更新,以便确定启动过程中文件数据的位置。如果在此之后再次重新启动,它应该会提高启动速度,因为它现在知道数据的位置,并且不必重新检测文件。

答案3

全新安装 Ubuntu 13.10,这是最新更新的 Ubuntu 版本。您的问题可能在该版本下得到修复,更新总能解决问题。

相关内容