Linux 開機速度直接影響伺服器可用性與桌面體驗。本文提供 10 個由淺入深的加速策略,涵蓋服務管理、內核模組、桌面環境、引導流程、固件層面等多個維度。
透過圖形介面「服務管理」或 systemctl/chkconfig 停用無用服務。例如純桌面環境可關閉 sendmail、httpd、nfs 等;Web 伺服器可關閉列印、藍牙、音訊等服務。
指令檢視:chkconfig --list | grep 3:on(SysV)或 systemctl list-unit-files --state=enabled(systemd)。
針對固定硬體(如無無線網卡、無 SCSI 裝置),重新編譯內核僅保留必要模組。步驟:
kernel-source 並配置 make menuconfig/xconfig。[ ](不編譯)或 [M](模組化),必要驅動設為 [*](內建)。make bzImage && make modules && make modules_install。輔助工具:Bootchart 可視化開機過程,精準定位耗時模組與服務。
GNOME/KDE 啟動常需 30-60 秒。改用 XFCE、Enlightenment、Openbox、i3wm 等,啟動僅需 2-10 秒,同時大幅降低記憶體佔用。
預設進入 Runlevel 3(多用戶文字模式),登入後手動 startx 啟動桌面。避免 Display Manager (GDM/LightDM/SDDM) 的初始化開銷,也減少 X 伺服器故障導致的黑畫面風險。
修改 /etc/inittab:id:3:initdefault: 或 systemd:systemctl set-default multi-user.target。
開源固件可直接初始化硬體、跳過冗長 POST 流程,並可客製化僅啟用必要裝置(如直接啟動首顆硬碟、關閉軟碟/光碟/網路啟動)。需硬體支援且操作風險較高,適合進階玩家。
省去 DHCP 發現、請求、確認的往返延遲。設定 /etc/network/interfaces (Debian系) 或 /etc/sysconfig/network-scripts/ifcfg-eth0 (RedHat系) 並確保 /etc/resolv.conf 含正確 DNS。
現代發行版已以 udev 取代 hotplug。若仍在舊版系統且無熱插拔需求,移除 hotplug 套件可減少開機等待裝置探測的時間。
編輯 /etc/init.d/rc,將 CONCURRENCY=none 改為 CONCURRENCY=shell,允許啟動腳本平行執行(需腳本本身支援)。systemd 環境無需此設定。
| 層級 | 策略 | 風險/成本 |
|---|---|---|
| 應用層 | 停用服務、輕量桌面、文字登入 | 低,立竿見影 |
| 系統層 | 靜態 IP、移除 hotplug、並行啟動 | 低~中 |
| 核心層 | 定製內核、輕量發行版 | 中,需編譯/重裝 |
| 固件層 | Coreboot、BIOS 優化 | 高,需硬體支援 |
建議由上而下漸進實施,優先解決「服務過多」、「桌面臃腫」等高性價比項目。