ureadahead 似乎在启动时阻止系统

vir*_*tor 5 time boot

我看了看我的bootcharts,他们似乎有什么问题。该ureadahead进程执行它应该执行的操作(大部分时间磁盘利用率为 100%),但它也会阻止任何其他操作。

由于我有一个缓慢的笔记本电脑硬盘,ureadahead它本身需要大约 50 秒的启动时间。然后,其余的可见启动序列又需要 100 秒才能完成,使用大量 CPU,但没有将其最大化和大量 IO(同样,几乎一直都是 100%)。

这对我来说似乎很奇怪。是我ureadahead配置错误吗?为什么它会阻止诸如启动似乎占用大量 CPU 的网络之类的任务?一般来说,它应该花费大约 50% 的引导图时间吗?

编辑:这里是例子bootchart:http://img191.imageshack.us/img191/1049/localhostkarmic20100815.png(或本如果直接一个没有工作:http://yfrog.com/f/5blocalhostkarmic20100815p/

RAO*_*AOF 4

阻止启动是设计使然。ureadahead 的目的是提前预加载启动所需的所有数据。这样做的原因是磁盘缓慢的主要原因是寻道时间 - 即使是慢速硬盘驱动器也应该能够推出> 50 MB/秒的读取速度,但如果您需要到处寻道 - 每次寻道数十毫秒- 那急剧减少。通过提前运行,ureadahead 应该能够最大限度地减少搜索次数,从而最大限度地减少读取启动所需的所有数据所需的时间。

\n\n

因此,理想的引导图看起来像 ureadahead,I/O 利用率为 100%,然后是其他所有内容启动且不使用(光盘)I/O。这种启动实际上是不可能实现的,尤其是因为我们启动的许多服务都会写入光盘,但这就是想法。

\n\n

看看你的引导图, ureadahead 似乎很难从你的光盘上真正提取数据 - 有很多时间它的吞吐量非常低。即便如此,看起来它正在完成一些工作 - 在 ureadahead 启动后,您的启动主要是 CPU 限制,而不是 I/O 限制,而且看起来 I/O 限制启动的大补丁与启动相关preload

\n\n

您可能想尝试删除preload或重新配置 boot\xc2\xb9,或者您的某些文件可能非常分散,或者可能是 ureadahead 中的错误。

\n\n

1:pack从 /var/lib/ureadahead 中删除文件将导致 ureadahead 在下次启动时重新配置文件。

\n