溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux啟動時間的優(yōu)化技巧

發(fā)布時間:2021-08-27 16:54:45 來源:億速云 閱讀:121 作者:chen 欄目:建站服務(wù)器

本篇內(nèi)容主要講解“Linux啟動時間的優(yōu)化技巧”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Linux啟動時間的優(yōu)化技巧”吧!


一臺電信設(shè)備的一次小故障或關(guān)機(jī),即使只是幾秒鐘,都可能會對無數(shù)互聯(lián)網(wǎng)上的用戶造成破壞。因此,對于很多對時間要求嚴(yán)格的設(shè)備和電信設(shè)備來說,在它們的設(shè)備中加入快速啟動的功能以幫助它們快速恢復(fù)工作是非常重要的。讓我們從圖 1 中理解 Linux 啟動過程??焖賳踊蚩焖僦貑⒃诟鞣N情況下起著至關(guān)重要的作用。為了保持所有服務(wù)的高可用性和更好的性能,嵌入式設(shè)備的快速啟動至關(guān)重要。設(shè)想有一臺運(yùn)行著沒有啟用快速啟動的  Linux 操作系統(tǒng)的電信設(shè)備,所有依賴于這個特殊嵌入式設(shè)備的系統(tǒng)、服務(wù)和用戶可能會受到影響。這些設(shè)備維持其服務(wù)的高可用性是非常重要的,為此,快速啟動和重啟起著至關(guān)重要的作用。

Linux啟動時間的優(yōu)化技巧

圖 1:啟動過程

監(jiān)視工具和啟動過程

在對機(jī)器做出更改之前,用戶應(yīng)注意許多因素。其中包括計(jì)算機(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 文件。

Linux啟動時間的優(yōu)化技巧

圖 2:啟動圖

圖 2 顯示了一個正在查看的引導(dǎo)圖 png 文件。

systemd-analyze

但是,對于 Ubuntu 15.10 以后的版本不再需要引導(dǎo)圖。為獲取關(guān)于啟動速度的簡短信息,使用下面的命令:

systemd-analyze

Linux啟動時間的優(yōu)化技巧

圖 3:systemd-analyze 的輸出

圖表 3 顯示命令 systemd-analyze 的輸出。

命令 systemd-analyze blame 用于根據(jù)初始化所用的時間打印所有正在運(yùn)行的單元的列表。這個信息是非常有用的,可用于優(yōu)化啟動時間。systemd-analyze blame 不會顯示服務(wù)類型為簡單(Type=simple)的服務(wù),因?yàn)?systemd 認(rèn)為這些服務(wù)應(yīng)是立即啟動的;因此,無法測量初始化的延遲。

Linux啟動時間的優(yōu)化技巧

圖 4:systemd-analyze blame 的輸出

圖 4 顯示 systemd-analyze blame 的輸出。

下面的命令打印時間關(guān)鍵的服務(wù)單元的樹形鏈條:

command systemd-analyze critical-chain

圖 5 顯示命令 systemd-analyze critical-chain 的輸出。
Linux啟動時間的優(yōu)化技巧

圖 5:systemd-analyze critical-chain 的輸出

減少啟動時間的步驟

下面顯示的是一些可以減少啟動時間的各種步驟。

BUM(啟動管理器)

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ǔ)知識,因?yàn)檫@可能會影響計(jì)算機(jī)或操作系統(tǒng)。圖 6 顯示 BUM 的圖形用戶界面。

Linux啟動時間的優(yōu)化技巧

圖 6:BUM

編輯 rc 文件

要編輯 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)行控制run control腳本。在啟動期間,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)上不工作,因?yàn)槭褂米钚聝?nèi)核的操作系統(tǒng)使用 systemd 文件,而不再是 init.d 文件。

Linux啟動時間的優(yōu)化技巧

圖 7:對 rc 文件進(jìn)行更改之前的啟動速度

Linux啟動時間的優(yōu)化技巧

圖 8:對 rc 文件進(jìn)行更改之后的啟動速度

E4rat

E4rat 代表 e4 減少訪問時間reduced access time(僅在 ext4 文件系統(tǒng)的情況下)。它是由 Andreas Rid 和 Gundolf Kiefer 開發(fā)的一個項(xiàng)目。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 文件,并安裝它?,F(xiàn)在需要恰當(dāng)?shù)厥占瘑訑?shù)據(jù)來使 e4rat 工作。

遵循下面所給的步驟來使 e4rat 正確地運(yùn)行并提高啟動速度。

  • 在啟動期間訪問 Grub 菜單。這可以在系統(tǒng)啟動時通過按住 shift 按鍵來完成。

  • 選擇通常用于啟動的選項(xiàng)(內(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 菜單,并對你的選項(xiàng)按 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= 開頭的一行,并在引號之間和任何選項(xiàng)之前添加下面的行: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 前后的啟動時間之間的差異??勺⒁獾絾铀俣鹊奶岣?。在使用 e4rat 前啟動所用時間是 22.32 秒,然而在使用 e4rat 后啟動所用時間是 9.065 秒。

Linux啟動時間的優(yōu)化技巧

圖 9:使用 e4rat 之前的啟動速度

Linux啟動時間的優(yōu)化技巧

圖 10:使用 e4rat 之后的啟動速度

一些易做的調(diào)整

使用很小的調(diào)整也可以達(dá)到良好的啟動速度,下面列出其中兩個。

SSD

使用固態(tài)設(shè)備而不是普通的硬盤或者其它的存儲設(shè)備將肯定會改善啟動速度。SSD 也有助于加快文件傳輸和運(yùn)行應(yīng)用程序方面的速度。

禁用圖形用戶界面

圖形用戶界面、桌面圖形和窗口動畫占用大量的資源。禁用圖形用戶界面是獲得良好的啟動速度的另一個好方法。

到此,相信大家對“Linux啟動時間的優(yōu)化技巧”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI