溫馨提示×

溫馨提示×

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

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

讓Linux系統(tǒng)開機(jī)速度更快的方法是什么

發(fā)布時(shí)間:2021-11-08 17:43:56 來源:億速云 閱讀:120 作者:柒染 欄目:建站服務(wù)器

本篇文章為大家展示了讓Linux系統(tǒng)開機(jī)速度更快的方法是什么,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

在所有我擁有或使用過的電腦中,啟動(dòng)最快的那臺(tái)是 20 世紀(jì) 80 年代的電腦。在你把手從電源鍵移到鍵盤上的時(shí)候,BASIC 解釋器已經(jīng)在等待你輸入命令了。對于現(xiàn)代的電腦,啟動(dòng)時(shí)間從筆記本電腦的 15 秒到小型家庭服務(wù)器的數(shù)分鐘不等。為什么它們的啟動(dòng)時(shí)間有差別?

那臺(tái)直接啟動(dòng)到 BASIC 命令行提示符的 20 世紀(jì) 80 年代微電腦,有著一顆非常簡單的 CPU,它在通電的時(shí)候就立即開始從一個(gè)內(nèi)存地址中獲取和執(zhí)行指令。因?yàn)檫@些系統(tǒng)的 BASIC 在 ROM 里面,基本不需要載入的時(shí)間——你很快就進(jìn)到 BASIC 命令提示符中了。同時(shí)代更加復(fù)雜的系統(tǒng),比如 IBM PC 或 Macintosh,需要一段可觀的時(shí)間來啟動(dòng)(大約 30 秒),盡管這主要是因?yàn)樾枰獜能洷P上讀取操作系統(tǒng)的緣故。在可以加載操作系統(tǒng)之前,只有很小一部分時(shí)間是花費(fèi)在固件上的。

現(xiàn)代服務(wù)器往往在從磁盤上讀取操作系統(tǒng)之前,在固件上花費(fèi)了數(shù)分鐘而不是數(shù)秒。這主要是因?yàn)楝F(xiàn)代系統(tǒng)日益增加的復(fù)雜性。CPU 不再能夠只是運(yùn)行起來就開始全速執(zhí)行指令,我們已經(jīng)習(xí)慣于 CPU 頻率變化、節(jié)省能源的待機(jī)狀態(tài)以及 CPU 多核。實(shí)際上,在現(xiàn)代 CPU 內(nèi)部有數(shù)量驚人的更簡單的處理器,它們協(xié)助主 CPU 核心啟動(dòng)并提供運(yùn)行時(shí)服務(wù),比如在過熱的時(shí)候壓制頻率。在絕大多數(shù) CPU 架構(gòu)中,在你的 CPU 內(nèi)的這些核心上運(yùn)行的代碼都以不透明的二進(jìn)制 blob 形式提供。

在 OpenPOWER 系統(tǒng)上,所有運(yùn)行在 CPU 內(nèi)部每個(gè)核心的指令都是開源的。在有 OpenBMC(比如 IBM 的 AC922 系統(tǒng)和 Raptor 的 TALOS II 以及 Blackbird 系統(tǒng))的機(jī)器上,這還延伸到了運(yùn)行在基板管理控制器Baseboard Management Controller上的代碼。這就意味著我們可以一探究竟,到底為什么從接入電源線到顯示出熟悉的登錄界面花了這么長時(shí)間。

如果你是內(nèi)核相關(guān)團(tuán)隊(duì)的一員,你可能啟動(dòng)過許多內(nèi)核。如果你是固件相關(guān)團(tuán)隊(duì)的一員,你可能要啟動(dòng)許多不同的固件映像,接著是一個(gè)操作系統(tǒng),來確保你的固件仍能工作。如果我們可以減少硬件的啟動(dòng)時(shí)間,這些團(tuán)隊(duì)可以更有生產(chǎn)力,并且終端用戶在搭建系統(tǒng)或重啟安裝固件或系統(tǒng)更新的時(shí)候會(huì)對此表示感激。

過去的幾年,Linux 發(fā)行版的啟動(dòng)時(shí)間已經(jīng)做了很多改善?,F(xiàn)代的初始化系統(tǒng)在處理并行和按需任務(wù)上做得很好。在一個(gè)現(xiàn)代系統(tǒng)上,一旦內(nèi)核開始執(zhí)行,它可以在短短數(shù)秒內(nèi)進(jìn)入登錄提示符界面。這里短短的數(shù)秒不是優(yōu)化啟動(dòng)時(shí)間的下手之處,我們要到更早的地方:在我們到達(dá)操作系統(tǒng)之前。

在 OpenPOWER 系統(tǒng)上,固件通過啟動(dòng)一個(gè)存儲(chǔ)在固件閃存芯片上的 Linux 內(nèi)核來加載操作系統(tǒng),它運(yùn)行一個(gè)叫做 Petitboot 的用戶態(tài)程序去尋找用戶想要啟動(dòng)的系統(tǒng)所在磁盤,并通過 kexec 啟動(dòng)它。有了這些優(yōu)化,啟動(dòng) Petitboot 環(huán)境只占了啟動(dòng)時(shí)間的百分之幾,所以我們還得從其他地方尋找優(yōu)化項(xiàng)。

在 Petitboot 環(huán)境啟動(dòng)前,有一個(gè)先導(dǎo)固件,叫做 Skiboot,在它之前有個(gè) Hostboot。在 Hostboot 之前是 Self-Boot Engine,一個(gè)晶圓切片(die)上的單獨(dú)核心,它啟動(dòng)單個(gè) CPU 核心并執(zhí)行來自 Level 3 緩存的指令。這些組件是我們可以在減少啟動(dòng)時(shí)間上取得進(jìn)展的主要部分,因?yàn)樗鼈兓ㄙM(fèi)了啟動(dòng)的絕大部分時(shí)間?;蛟S這些組件中的一部分沒有進(jìn)行足夠的優(yōu)化或盡可能做到并行?

另一個(gè)研究路徑是重啟時(shí)間而不是啟動(dòng)時(shí)間。在重啟的時(shí)候,我們真的需要對所有硬件重新初始化嗎?

正如任何現(xiàn)代系統(tǒng)那樣,改善啟動(dòng)(或重啟)時(shí)間的方案已經(jīng)變成了更多的并行執(zhí)行、解決遺留問題、(可以認(rèn)為)作弊的結(jié)合體。

上述內(nèi)容就是讓Linux系統(tǒng)開機(jī)速度更快的方法是什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向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