Linux啟動(dòng)時(shí)間的極限優(yōu)化
ShortIDEDelays - 縮短IDE探測(cè)時(shí)長(zhǎng)(我的應(yīng)用場(chǎng)景中不包含硬盤,所以用不上)
KernelXIP - 直接在ROM或Flash中運(yùn)行內(nèi)核(考慮到兼容性因素,未采用)
IDENoProbe - 跳過(guò)未連接設(shè)備的IDE口
OptimizeRCScripts - 優(yōu)化initrd中的linuxrc腳本(我采用了BusyBox更簡(jiǎn)潔的linuxrc)
以及其它一些尚處于設(shè)想階段的優(yōu)化方案,感興趣的朋友可以訪問(wèn)CELF Developer Wiki了解詳情。
(4)優(yōu)化結(jié)果
經(jīng)過(guò)上述專項(xiàng)優(yōu)化,以及對(duì)inittab、rcS腳本的冗余裁減,整個(gè)Linux內(nèi)核的啟動(dòng)時(shí)間從優(yōu)化前的 6.188s 下降到了最終的 2.016s,如果不包含eth0的初始化,則僅需 1.708s(eth0初始化可以和系統(tǒng)中間件及部分應(yīng)用加載并行),基本達(dá)到了既定目標(biāo)。與Kexec配合,可以大大降低軟件故障導(dǎo)致的復(fù)位時(shí)間,有效的提升了產(chǎn)品的可靠性。
評(píng)論