Uboot Linux啟動時間優化

2022-07-06 15:30:11 字數 1380 閱讀 3114

裝置啟動時間往往是專案立項時的一項重要技術指標。快速的啟動時間意味著裝置宕機時間的縮短,系統的快速恢復,也能改善使用者使用時的體驗感受,是一項重要的市場競爭力。

優化啟動時間之前,我們首先要了解下我們裝置的主要啟動流程,如下圖所述,裝置啟動流程主要包含:硬體、bootloader

、作業系統和應用程式

4個部分。

硬體部分包括:

bootloader(此處為

uboot

)包括:

作業系統(此處為linux

)包括:

應用程式包括:

另外,在著手優化啟動時間之前,我們要對現狀有所了解,以幫助我們對啟動的各個環節進行檢查、度量。

首先我們要開啟uboot

和linux kernel

的除錯列印開關,保證列印列印到串列埠。

修改uboot

配置,如下:

//#define config_silent_console

#define debug

在uboot shell

或者cmdline

中中設定

linux kernel

列印級別

setenv loglevel 7

然後通過下面的幾種方法對啟動時間進行度量。

記錄每條列印的列印時間戳

telnet 192.166.100.3 10006 | ts "%h:%m:%.s"

telnet 192.166.100.3 10006 | while read pong; do echo "$(date +"%t.%n"): $pong"; done

記錄每條列印的相對時間戳

telnet 192.166.100.3 10006 | ts -i "%h:%m:%.s"

針對linux kernel

,還可以配置

config_printk_time=y

使能核心的日誌時間戳功能。

本文只討論bootloader

和kernel

部分的優化方法。

背景介紹:

本裝置的引導方式為uboot+linux,os

映象大小為31mb,儲存在版本

nor flash

上,flash

檔案系統為

jffs2

,核心映象採用

gzip

方式壓縮。優化前裝置啟動時間為

186s

左右,專案要求控制在

90s以內。

adb獲取啟動時間

coding utf 8 import subprocess import time thistime是一連串啟動activity的最後乙個activity的啟動耗時。totaltime是新應用啟動的耗時,包括新程序的啟動和activity的啟動,但不包括前乙個應用activity pause的耗時...

jMeter 執行緒啟動時間

jmeter裡設定執行緒數量為5 其實這是因為我設定的ramp up period引數在起作用 決定多長時間啟動所有執行緒。如果使用10個執行緒,ramp up period是100秒,那麼jmeter用100秒使所有10個執行緒啟動並執行。每個執行緒會在上乙個執行緒啟動後10秒 100 10 啟動...

linux啟動時間同步

時間同步的方式 找乙個機器,作為時間伺服器,所有的機器與這台集群時間進行定時的同步,比如,每隔十分鐘,同步一次時間。以hadoop102 hadoop103 hadoop104 三颱機器為集群 hadoop102為namenode節點 具體配置時間伺服器的操作 1.檢查是否安裝ntp 必須root去...