linux啟動時間優化措施(4)
在我們進行linux系統優化時,可以從以下幾方面入手
1、如果有硬性的啟動時間要求,比如開機時間要求達到10s以內,那麼就必須要硬體上面支援。比如使用一般的
nand flash想達到那麼快的速度那是不可能,至少要20秒以上,所以這個時候,就必須要使用inand來實現。
2、當硬體確定支援啟動時間要求後,軟體方面可以由以下方面入手
1)bootloader的啟動,由於bootloader在啟動過程中會有判斷是否進入命令模式,這個時候,可以把這個倒數的時
間去掉(建議最終版本的時候才這麼做,因為方便使用fastboot進行韌體燒寫),或者減少
2)bootloader階段不要使用LCD,因為本身這個階段啟動的時間在幾百ms左右,所以沒必要使用LCD了
3)kernel階段,主要耗時點在於模組的載入,所以要找到每個模組載入的時間,那麼就可以確定是那些模組耗時了
如何找呢? 那就需要把各驅動模組載入時間列印出來咯。
在uboot的CONFIG_BOOTARGS增加printk.time=y initcall_debug
initcall_debug列印核心載入的各個模組資訊,通過這個選項可以看到核心載入各個模組的順序,核心載入了
哪些模組,從資訊中 可以看到, 如果您的核心系統沒有必要使用某個模組,儘量不要載入進去,這樣即可節約核心
佔用的儲存空間,也可以加快核心的啟動 過程。如果有模組是使用模擬spi或者i2c的,那麼可以考慮減少延時時間等。
另外,還可以新增lpj的值,如lpj=1949696,可以減少核心計算lpj的時間,lpj可以直接從串列埠列印資訊獲取。
1. 首先修改kernel的bootargs,在bootargs中新增以下內容:
- printk.time=y initcall_debug
我使用的bootargs修改後如下:
- setenv bootargs "root=/dev/mtdblock2 rootfstype=yaffs2 init=/init console=ttySAC2,115200printk.time=y initcall_debug"
這樣kernel在啟動時,將會列印出每個模組的啟動耗時:
printk.time=y
代表核心列印資訊含有時間戳,如何您的核心沒有配置:
- Kernel hacking
- --->Show
timing information on printks
可以在bootargs 增加printk.time=y
核心引數,列印時間資訊,如果配置瞭如上的選項,可以不增加printk.time=y引數。
printk.time=y 適用於不需要重新編譯核心即可檢視啟動時間資訊。
相關文章
- Linux啟動時間優化技巧Linux優化
- 如何進行 Linux 啟動時間優化Linux優化
- APP啟動時間優化APP優化
- iOS效能優化 - APP啟動時間優化iOS優化APP
- 優化 App 的啟動時間優化APP
- Linux啟動時間最佳化技巧Linux
- iOS深思篇 | 啟動時間的度量和優化iOS優化
- 優化JVM 縮短Eclipse的啟動時間優化JVMEclipse
- [iOS]一次立竿見影的啟動時間優化iOS優化
- Android應用啟動黑白屏解決方案及啟動時間優化Android優化
- Linux 檢視程式啟動時間、執行時間Linux
- [貝聊科技]一次立竿見影的啟動時間優化優化
- 基於APK加速啟動時間的Android系統資源優化APKAndroid優化
- Linux下如何檢視系統啟動時間和執行時間Linux
- iOS啟動優化iOS優化
- App啟動優化APP優化
- Android 效能優化 ---- 啟動優化Android優化
- Linux 獲取系統開機/啟動時間Linux
- App啟動速度優化APP優化
- Linux效能優化實戰-倪朋飛-極客時間Linux優化
- App啟動時間(翻譯)APP
- 安卓啟動時間獲取安卓
- Angular SSR 應用啟動時的一些保護措施Angular
- 優化 Xcode 編譯時間優化XCode編譯
- 純前端優化首屏時間前端優化
- Linux如何檢視系統/伺服器的執行時間及啟動時間?Linux伺服器
- App啟動頁面優化APP優化
- 美人相機啟動優化優化
- android冷啟動優化Android優化
- Linux自動更新時間Linux
- 資料庫效能優化有哪些措施?資料庫優化
- Android效能優化筆記(一)——啟動優化Android優化筆記
- Android應用優化之冷啟動優化Android優化
- 面試Tip:Android優化之APP啟動優化面試Android優化APP
- EntityFramework優化:第一次啟動優化Framework優化
- APP效能測試_啟動時間APP
- 高德APP啟動耗時剖析與優化實踐(iOS篇)APP優化iOS
- [譯] 優化 Swift 的編譯時間優化Swift編譯