linux启动优化:mdev -s.doc

上传人:白大夫 文档编号:3255326 上传时间:2019-08-06 格式:DOC 页数:2 大小:13.50KB
返回 下载 相关 举报
linux启动优化:mdev -s.doc_第1页
第1页 / 共2页
亲,该文档总共2页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《linux启动优化:mdev -s.doc》由会员分享,可在线阅读,更多相关《linux启动优化:mdev -s.doc(2页珍藏版)》请在三一文库上搜索。

1、linux启动优化:mdev -slinux启动优化:mdev -s自从创建节点,启动时间比较长标签: linux 优化 mdev it 分类: 工作中遇到的问题近期工作中遇到的问题如下: linux启动后加载根文件系统时,会停留时间很久,跟人一种死机的感觉,于是老大要求优化linux的启动时间。 先第一步做的是给linux内核启动加上时间戳,方法:配置linux内核make menuconfig-Kernel hacking-show timing informaTIon on printks选中即可,重新编译内核下载。 发现linux内核启动的时间是可以接受的在3s左右,主要时间是在根文件

2、系统的挂在出停留时间比较久,于是下面就把中心放在根文件系统的优化上。 linux内核启动的最后是挂在根文件系统,打印信息如下: 3.810000 Failed to execute /init. AttempTIng defaults.执行到这时明显逗留时间比较长,大概有5s左右, 有这里我们想到 系统启动后 自动加载 /etc/init.d/rcs 打开rcs,在开头加上一个打印语句echo *test0*,用来验证,保存重启,神奇的发现Failed to execute /init. AttempTIng defaults.之后紧接着出现*test0*,这个充分说明了,问题出现在/etc/

3、init.d/rcs文件中,我在该文件中(由于文件不大)我每条指令下加一个打印输出语句echo *test1*(一次增加)。最后终于找到最耗时间的地方是/sbin/mdev -s,下面的问题就是如何优化它。 我们首先要了解一下mdev -s自动创建设备节点的原理和方法:请参考这篇文章http:/blog.csdn/hugerat/arTIcle/details/3437099mdev扫描 /sys/class 和/sys/block中所有的类设备目录,如果在目录中含有名为“dev”的文件,且文件中包含的是设备号,则mdev就利用这些信息为这个设备在/dev下创建设备节点文件。热插拔事件:由于启

4、动时运行了命令:echo /sbin/mdev /proc/sys/kernel/hotplug ,那么当有热插拔事件产生时,内核就会调用位于/sbin目录的mdev。这时mdev通过环境变量中的 ACTION 和DEVPATH,(这两个变量是系统自带的)来确定此次热插拔事件的动作以及影响了/sys中的那个目录。接着会看看这个目录中是否有“dev”的属性文件,如果有就利用这些信息为这个设备在/dev 下创建设备节点文件。 由于我们做的产品是在linux挂在文件系统后直接运行我们的应用程序(一直),所以我们boss希望我们的应用界面尽可能早的出现,我们的应用程序启动是在文件系统下/etc/init.d/rcS中的最后添加的启动脚本。但是mdev -s出现的必须比较早,如果放在应用程序后面,会造成设备节点没创建而导致应用程序的不正常运行,但是应用放在后面吧,有启动的较晚,(由于mdev自动创建节点比较耗时,前面已经说过),那如何解决这个问题呢? 解决办法: 最简单的方式是我们应用必须用的设备节点在前面手工创建(还是在rcS启动脚本里面),对于其他的可以放在我们的应用启动后在用medv -s自动创建。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1