linux启动优化之一 —— 优化目标和bootchart图示
(2011-12-30 21:02:02)
标签:
funtoo
kernel
linux
bootchart
it
前面拿eee来做优化说明其实不太恰当,bootchart里面丢失了很多信息。
有了下载机和eee优化的经验,现在把主力机器也做优化,慢慢整理一下优化的步骤。
优化目标:对于人使用的pc而言,尽快进入终端用户登录输入提示是这次优化的目标。
根据80/20原则,首先从bootchart出发,找出最耗时的(80%)地方。
Bootchart怎么看呢?这个和linux启动有关。
1. 红线部分,在init进程前的部分,可以认为是kernel bootup部分。大约4s。
2.蓝线部分,是udev根据系统里面的设备动态加载kernel
module的过程。耗时>3s。
3.蓝线后可以看到很多进程并行起来了,这些都是funtoo系统里面boot level的服务,耗时约3s。
4.粉红线后的是funtoo系统default level里面的服务。到(agetty启动)黄线前,大约5s。
Kernel部分的优化和kernel
config和kernel需要支持的硬件有关,具体的信息可以参考dmesg,建议打开printk的timestamp或者打开kernel里面的
init_call debug。Kernel本身就是一个复杂的组合,kernel
bootup只是启动的一部分,先按下不表。
系统init中,某个level的耗时由这个level里面耗时最长的服务确定,图中boot
level中就是粉红色线对齐的keymaps服务。default
level中就是黄线对齐的dhcpcd服务。优化最耗时服务的启动依赖顺序是关键,例如绿线对齐的dhcpcd和wpa_supplicant的关系。
根据80/20原则,第一步就是要针对default level中的网络相关的服务进行启动优化。(To Be
Continue...)
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。