我使用的是安装在 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
考虑到我的硬盘速度,这种延迟是不正常的。
升级到最新内核(从 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
输出:
[ 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
输出:
- 不使用 ureadahead(禁用后指导)没有延迟:
dmesg 输出(ureadahead 已禁用)
bootchart 输出(ureadahead 已禁用) 启用 ureadahead 后,首次启动(首次构建包文件)无延迟:
dmesg 输出(ureadahead 已启用)
bootchart 输出(ureadahead 已禁用)启用 ureadahead 后,第二次启动(ureadahead 完全工作)延迟又回来了:
dmesg 输出(ureadahead 已启用第二次启动)
bootchart 输出(ureadahead 禁用第二次启动)
笔记
我的问题似乎与此重复由于挂载文件系统导致启动非常慢这与 Ubuntu 11.04 有关并且尚无解决方案!如果有管理员读到这篇文章,我不知道是否必须删除我的问题作为重复,因为问题似乎不是交换安装...如果是这样,请删除它,或者请通知我这样做!
答案1
答案2
ureadahead 会在下次启动时运行,此时内核等关键软件包会更新,以便确定启动过程中文件数据的位置。如果在此之后再次重新启动,它应该会提高启动速度,因为它现在知道数据的位置,并且不必重新检测文件。
答案3
全新安装 Ubuntu 13.10,这是最新更新的 Ubuntu 版本。您的问题可能在该版本下得到修复,更新总能解决问题。