具体来说,根据自己的日志,使用udev自动使用usb记忆棒大约需要3-4秒。这听起来可能不太像,但它是在一个嵌入式发行版的系统,以前使用了一个更轻的操作系统,在那里,他们准备使用不到1秒。我不需要这么快,但它现在已经慢到足以惹恼系统的用户了。
简单地说,我有什么选择来加快速度?
发布于 2014-06-11 03:44:27
正如吉尔斯评论的那样,您可以打开内核和udev日志记录。Arch Wiki有一个很好的源代码[1]。至少考虑使用这些内核参数:
debug ignore_loglevel log_buf_len=10M LOGLEVEL=8 earlyprintk=vga,keep udev.log_priority=8听起来你的操作系统在嵌入式系统上,所以YMMV有一个10米的日志缓冲区。相应调整。
去年,Gentoo用户通过挖掘引导过程中的任意sleep调用(除其他外)并将它们替换为相关的同步原语[2],从而将其引导序列缩小到不到2秒。如果这激发了您的灵感,那么在您的概要文件中,识别用于挂载您的usb驱动器的代码路径,并检查其源代码以进行任意sleep调用。
如果没有更多的细节,就很难提供明确的行动方针。
如果这些选项太低,您可以尝试用其他方法替换部分发行版。查看mdev作为udev的替代品(假设您没有使用systemd),或者编辑您的automount规则,并将挂载程序替换为另一个实用程序(挂载、p装入、udisk、udev等)。
除此之外,谷歌,阅读,探测,调整和测量。
下面是一些关于udev自动生成的可能的阅读材料。
[1](https://wiki.archlinux.org/index.php/Boot_debugging)
[2](http://gentooexperimental.org/~patrick/weblog/archives/2013-10.html)
3.
4.
5
https://unix.stackexchange.com/questions/136404
复制相似问题