您好,登錄后才能下訂單哦!
這篇文章主要介紹怎么進(jìn)行Linux啟動時間優(yōu)化,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
快速啟動嵌入式設(shè)備或電信設(shè)備,對于時間要求緊迫的應(yīng)用程序是至關(guān)重要的,并且在改善用戶體驗方面也起著非常重要的作用。這個文章給予一些關(guān)于如何增強(qiáng)任意設(shè)備的啟動時間的重要技巧。
快速啟動或快速重啟在各種情況下起著至關(guān)重要的作用。為了保持所有服務(wù)的高可用性和更好的性能,嵌入式設(shè)備的快速啟動至關(guān)重要。設(shè)想有一臺運(yùn)行著沒有啟用快速啟動的 Linux 操作系統(tǒng)的電信設(shè)備,所有依賴于這個特殊嵌入式設(shè)備的系統(tǒng)、服務(wù)和用戶可能會受到影響。這些設(shè)備維持其服務(wù)的高可用性是非常重要的,為此,快速啟動和重啟起著至關(guān)重要的作用。
一臺電信設(shè)備的一次小故障或關(guān)機(jī),即使只是幾秒鐘,都可能會對無數(shù)互聯(lián)網(wǎng)上的用戶造成破壞。因此,對于很多對時間要求嚴(yán)格的設(shè)備和電信設(shè)備來說,在它們的設(shè)備中加入快速啟動的功能以幫助它們快速恢復(fù)工作是非常重要的。讓我們從圖 1 中理解 Linux 啟動過程。
圖 1:啟動過程
在對機(jī)器做出更改之前,用戶應(yīng)注意許多因素。其中包括計算機(jī)的當(dāng)前啟動速度,以及占用資源并增加啟動時間的服務(wù)、進(jìn)程或應(yīng)用程序。
為監(jiān)視啟動速度和在啟動期間啟動的各種服務(wù),用戶可以使用下面的命令來安裝:
sudo apt-get install pybootchartgui
你每次啟動時,啟動圖會在日志中保存一個 png 文件,使用戶能夠查看該 png 文件來理解系統(tǒng)的啟動過程和服務(wù)。為此,使用下面的命令:
cd /var/log/bootchart
用戶可能需要一個應(yīng)用程序來查看 png 文件。Feh 是一個面向控制臺用戶的 X11 圖像查看器。不像大多數(shù)其它的圖像查看器,它沒有一個精致的圖形用戶界面,但它只用來顯示圖片。Feh 可以用于查看 png 文件。你可以使用下面的命令來安裝它:
sudo apt-get install feh
你可以使用 feh xxxx.png
來查看 png 文件。
圖 2:啟動圖
圖 2 顯示了一個正在查看的引導(dǎo)圖 png 文件。
但是,對于 Ubuntu 15.10 以后的版本不再需要引導(dǎo)圖。為獲取關(guān)于啟動速度的簡短信息,使用下面的命令:
systemd-analyze
圖 3:systemd-analyze 的輸出
圖表 3 顯示命令 systemd-analyze
的輸出。
命令 systemd-analyze blame
用于根據(jù)初始化所用的時間打印所有正在運(yùn)行的單元的列表。這個信息是非常有用的,可用于優(yōu)化啟動時間。systemd-analyze blame
不會顯示服務(wù)類型為簡單(Type=simple
)的服務(wù),因為 systemd 認(rèn)為這些服務(wù)應(yīng)是立即啟動的;因此,無法測量初始化的延遲。
圖 4:systemd-analyze blame 的輸出
圖 4 顯示 systemd-analyze blame
的輸出。
下面的命令打印時間關(guān)鍵的服務(wù)單元的樹形鏈條:
command systemd-analyze critical-chain
圖 5 顯示命令 systemd-analyze critical-chain
的輸出。
圖 5:systemd-analyze critical-chain 的輸出
下面顯示的是一些可以減少啟動時間的各種步驟。
BUM 是一個運(yùn)行級配置編輯器,允許在系統(tǒng)啟動或重啟時配置初始化服務(wù)。它顯示了可以在啟動時啟動的每個服務(wù)的列表。用戶可以打開和關(guān)閉各個服務(wù)。BUM 有一個非常清晰的圖形用戶界面,并且非常容易使用。
在 Ubuntu 14.04 中,BUM 可以使用下面的命令安裝:
sudo apt-get install bum
為在 15.10 以后的版本中安裝它,從鏈接 http://apt.ubuntu.com/p/bum 下載軟件包。
以基本的服務(wù)開始,禁用掃描儀和打印機(jī)相關(guān)的服務(wù)。如果你沒有使用藍(lán)牙和其它不想要的設(shè)備和服務(wù),你也可以禁用它們中一些。我強(qiáng)烈建議你在禁用相關(guān)的服務(wù)前學(xué)習(xí)服務(wù)的基礎(chǔ)知識,因為這可能會影響計算機(jī)或操作系統(tǒng)。圖 6 顯示 BUM 的圖形用戶界面。
圖 6:BUM
要編輯 rc 文件,你需要轉(zhuǎn)到 rc 目錄。這可以使用下面的命令來做到:
cd /etc/init.d
然而,訪問 init.d
需要 root 用戶權(quán)限,該目錄基本上包含的是開始/停止腳本,這些腳本用于在系統(tǒng)運(yùn)行時或啟動期間控制(開始、停止、重新加載、啟動啟動)守護(hù)進(jìn)程。
在 init.d
目錄中的 rc
文件被稱為運(yùn)行控制腳本。在啟動期間,init
執(zhí)行 rc
腳本并發(fā)揮它的作用。為改善啟動速度,我們可以更改 rc
文件。使用任意的文件編輯器打開 rc
文件(當(dāng)你在 init.d
目錄中時)。
例如,通過輸入 vim rc
,你可以更改 CONCURRENCY=none
為 CONCURRENCY=shell
。后者允許某些啟動腳本同時執(zhí)行,而不是依序執(zhí)行。
在最新版本的內(nèi)核中,該值應(yīng)該被更改為 CONCURRENCY=make?le
。
圖 7 和圖 8 顯示編輯 rc
文件前后的啟動時間比較。可以注意到啟動速度有所提高。在編輯 rc
文件前的啟動時間是 50.98 秒,然而在對 rc
文件進(jìn)行更改后的啟動時間是 23.85 秒。
但是,上面提及的更改方法在 Ubuntu 15.10 以后的操作系統(tǒng)上不工作,因為使用最新內(nèi)核的操作系統(tǒng)使用 systemd 文件,而不再是 init.d
文件。
圖 7:對 rc 文件進(jìn)行更改之前的啟動速度
圖 8:對 rc 文件進(jìn)行更改之后的啟動速度
E4rat 代表 e4減少訪問時間(僅在 ext4 文件系統(tǒng)的情況下)。它是由 Andreas Rid 和 Gundolf Kiefer 開發(fā)的一個項目。E4rat 是一個通過碎片整理來幫助快速啟動的應(yīng)用程序。它還會加速應(yīng)用程序的啟動。E4rat 使用物理文件的重新分配來消除尋道時間和旋轉(zhuǎn)延遲,因而達(dá)到較高的磁盤傳輸速度。
E4rat 可以 .deb 軟件包形式獲得,你可以從它的官方網(wǎng)站 http://e4rat.sourceforge.net/ 下載。
Ubuntu 默認(rèn)安裝的 ureadahead 軟件包與 e4rat 沖突。因此必須使用下面的命令安裝這幾個軟件包:
sudo dpkg purge ureadahead ubuntu-minimal
現(xiàn)在使用下面的命令來安裝 e4rat 的依賴關(guān)系:
sudo apt-get install libblkid1 e2fslibs
打開下載的 .deb 文件,并安裝它。現(xiàn)在需要恰當(dāng)?shù)厥占瘑訑?shù)據(jù)來使 e4rat 工作。
遵循下面所給的步驟來使 e4rat 正確地運(yùn)行并提高啟動速度。
在啟動期間訪問 Grub 菜單。這可以在系統(tǒng)啟動時通過按住 shift
按鍵來完成。
選擇通常用于啟動的選項(內(nèi)核版本),并按 e
。
查找以 linux /boot/vmlinuz
開頭的行,并在該行的末尾添加下面的代碼(在句子的最后一個字母后按空格鍵):init=/sbin/e4rat-collect or try - quiet splash vt.handsoff =7 init=/sbin/e4rat-collect
。
現(xiàn)在,按 Ctrl+x
來繼續(xù)啟動。這可以讓 e4rat 在啟動后收集數(shù)據(jù)。在這臺機(jī)器上工作,并在接下來的兩分鐘時間內(nèi)打開并關(guān)閉應(yīng)用程序。
通過轉(zhuǎn)到 e4rat 文件夾,并使用下面的命令來訪問日志文件:cd /var/log/e4rat
。
如果你沒有找到任何日志文件,重復(fù)上面的過程。一旦日志文件就緒,再次訪問 Grub 菜單,并對你的選項按 e
。
在你之前已經(jīng)編輯過的同一行的末尾輸入 single
。這可以讓你訪問命令行。如果出現(xiàn)其它菜單,選擇恢復(fù)正常啟動(Resume normal boot)。如果你不知為何不能進(jìn)入命令提示符,按 Ctrl+Alt+F1
組合鍵。
在你看到登錄提示后,輸入你的登錄信息。
現(xiàn)在輸入下面的命令:sudo e4rat-realloc /var/lib/e4rat/startup.log
。此過程需要一段時間,具體取決于機(jī)器的磁盤速度。
現(xiàn)在使用下面的命令來重啟你的機(jī)器:sudo shutdown -r now
。
現(xiàn)在,我們需要配置 Grub 來在每次啟動時運(yùn)行 e4rat。
使用任意的編輯器訪問 grub 文件。例如,gksu gedit /etc/default/grub
。
查找以 GRUB CMDLINE LINUX DEFAULT=
開頭的一行,并在引號之間和任何選項之前添加下面的行:init=/sbin/e4rat-preload 18
。
它應(yīng)該看起來像這樣:GRUB CMDLINE LINUX DEFAULT = init=/sbin/e4rat- preload quiet splash
。
保存并關(guān)閉 Grub 菜單,并使用 sudo update-grub
更新 Grub 。
重啟系統(tǒng),你將發(fā)現(xiàn)啟動速度有明顯變化。
圖 9 和圖 10 顯示在安裝 e4rat 前后的啟動時間之間的差異??勺⒁獾絾铀俣鹊奶岣摺T谑褂?e4rat 前啟動所用時間是 22.32 秒,然而在使用 e4rat 后啟動所用時間是 9.065 秒。
圖 9:使用 e4rat 之前的啟動速度
圖 10:使用 e4rat 之后的啟動速度
使用很小的調(diào)整也可以達(dá)到良好的啟動速度,下面列出其中兩個。
使用固態(tài)設(shè)備而不是普通的硬盤或者其它的存儲設(shè)備將肯定會改善啟動速度。SSD 也有助于加快文件傳輸和運(yùn)行應(yīng)用程序方面的速度。
圖形用戶界面、桌面圖形和窗口動畫占用大量的資源。禁用圖形用戶界面是獲得良好的啟動速度的另一個好方法。
以上是“怎么進(jìn)行Linux啟動時間優(yōu)化”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。