前幾天有個朋友因為項目實施,在考慮Linux上的Oracle最快要多長時間才能啟動?他們的要求是10秒以內。因為系統可能會經常斷電。
我當時考慮30秒以內能夠實現,要壓縮到10秒以內就太困難了。因為資料庫的斷電恢複可能需要較長的時間。
今天看到這樣一些新聞和訊息,先瞭解一下Linux的啟動速度。
首先最快的Linux號稱可以在2.97 秒內啟動:Linux boots in 2.97 seconds
這是一家日本公司設計的嵌入式Linux系統Lineo在低功耗的系統上可以在2.97秒內啟動。他們稱這個快速啟動軟體系統為Warp 2,Warp 2 由一個引導載入程式,一個定製的Linux軟體套裝,和一個類似於suspend-to-disk(休眠到硬碟)的軟體 hibernation driver組成。 這個"冬眠驅動"可以將RAM的快照資訊寫入到快閃記憶體裡形成鏡像,而不是寫到硬碟裡,據悉它能夠儲存50%的RAM資訊。Warp 2 可以儲存多重系統的RAM快照,以給重啟提供乾淨的啟動環境,或者啟動時直接讀取之前儲存的RAM 鏡像,這樣就能加快啟動速度。 他們的測試環境是使用arm CPU,運行Warp 2的系統,當然Warp 2裡包含Linux,X顯示子系統,視窗管理器twm,3個 xterm命令列工具。它啟動的是一個18.3MB的RAM鏡像,花費了2.97秒。而在同樣的環境下,啟動6.8M的RAM 鏡像需要3.17秒。 |
而在LWN.net上,另外一篇文章則描述了5秒內啟動的Linux核心:
two developers beat the five second mark with two software loads: one modified Fedora and one modified Moblin. |
這說明Linux的啟動時間是大可以精簡的,不過這樣的核心需要相應的硬體系統的配合。
在研究Linux啟動和初始化時,一個很好的協助工具輔助是BootChart,該工具可以用於展現Linux的啟動時間消耗,以便分析和最佳化。