讓Linux系統飛速啟動:優化啟動時間的技巧與方法
在現代的電腦世界中,啟動時間是至關重要的因素之一。有時候,我們需要快速啟動伺服器或電腦,以求更高的效率和更好的使用者體驗。在Linux系統中,優化啟動時間非常重要。本文將介紹如何使用各種工具來分析和改善Linux系統的啟動時間。
快速啟動或快速重啟在各種情況下起著至關重要的作用。為了保持所有服務的高可用性和更好的效能,嵌入式設備的快速啟動至關重要。設想有一台運行著沒有啟用快速啟動的 Linux 作業系統的電信設備,所有依賴這個特殊嵌入式設備的系統、服務和使用者都可能受到影響。這些設備維持其服務的高可用性是非常重要的,為此,快速啟動和重新啟動起著至關重要的作用。
一台電信設備的一次小故障或關機,即使只是幾秒鐘,都可能會對無數網路上的使用者造成破壞。因此,對於許多對時間要求嚴格的設備和電信設備來說,在它們的設備中加入快速啟動的功能以幫助它們快速恢復工作是非常重要的。讓我們從圖 1 中理解 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=makefile。
图 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系統的啟動時間。無論是減少服務數量、去除不必要的模組或優化文件系統或是應用程序,這些方式都能夠有效地減少Linux系統的啟動時間,為我們提供更流暢和高效的體驗。
以上是讓Linux系統飛速啟動:優化啟動時間的技巧與方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

CentOS 安裝步驟:下載 ISO 映像並刻錄可引導媒體;啟動並選擇安裝源;選擇語言和鍵盤佈局;配置網絡;分區硬盤;設置系統時鐘;創建 root 用戶;選擇軟件包;開始安裝;安裝完成後重啟並從硬盤啟動。

CentOS將於2024年停止維護,原因是其上游發行版RHEL 8已停止維護。該停更將影響CentOS 8系統,使其無法繼續接收更新。用戶應規劃遷移,建議選項包括CentOS Stream、AlmaLinux和Rocky Linux,以保持系統安全和穩定。

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

CentOS 已停止維護,替代選擇包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(與 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商業版,付費許可);5. Oracle Linux(與 CentOS 和 RHEL 兼容)。在遷移時,考慮因素有:兼容性、可用性、支持、成本和社區支持。

CentOS 停止維護後,用戶可以採取以下措施應對:選擇兼容髮行版:如 AlmaLinux、Rocky Linux、CentOS Stream。遷移到商業發行版:如 Red Hat Enterprise Linux、Oracle Linux。升級到 CentOS 9 Stream:滾動發行版,提供最新技術。選擇其他 Linux 發行版:如 Ubuntu、Debian。評估容器、虛擬機或云平台等其他選項。

如何使用 Docker Desktop? Docker Desktop 是一款工具,用於在本地機器上運行 Docker 容器。其使用步驟包括:1. 安裝 Docker Desktop;2. 啟動 Docker Desktop;3. 創建 Docker 鏡像(使用 Dockerfile);4. 構建 Docker 鏡像(使用 docker build);5. 運行 Docker 容器(使用 docker run)。

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)
