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