
我想加快啟動時間,我遵循了提示到:
- 編輯“/etc/default/grub”並將該行更改
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
為GRUB_CMDLINE_LINUX_DEFAULT="quiet splash profile"
; - 運轉
sudo update-grub2
並啟動機器; - 再次編輯 grub 設定檔並
profile
從中刪除GRUB_CMDLINE_LINUX_DEFAULT
; - 再次更新 grub 並重新啟動。
但結果是根據dmesg
輸出增加了 10 秒的啟動時間!
什麼地方出錯?為什麼這個技巧對我不起作用?如何恢復此設定?這個設定檔在 Xubuntu 中保存在哪裡?我可以毫無問題地刪除這個新的設定檔嗎?
答案1
一開始的一句話:儘管您對 Ubuntu 13.10 感到滿意,但我仍然強烈建議升級到 14.04 LTS。 Saucy 的生命週期已經結束一年多了,這意味著從那時起您沒有收到任何更新 - 從安全角度來看,這不太好。此外,從技術上講,EOL 版本在這裡是題外話。
核心啟動參數profile
是啟動時預讀分析的觸發器。如果設定了readahead
守護程序,它將監視引導過程,尋找引導期間載入的檔案並寫入適當的清單檔案。該檔案將在下次啟動時使用,並且應該透過減少硬碟尋道來縮短啟動時間。
多年來,有一些這樣的預讀機制出現和消失。這是我對它們的看法,我希望這或多或少是準確的。
原始readahead
(已棄用)
Ubuntu 檔案中找到的最後一個版本可以追溯到 2005 年。我不知道它是什麼時候被超級種子化的,但肯定是在 10.04 之前的某個時間。
- 設定檔儲存在
/etc/readahead/boot
. boot
透過使用內核參數移動和引導來觸發分析profile
,儘管這個錯誤報告表明它是一個無文件且僅限開發人員的選項。
readahead
來自軟呢帽
最初來自 Fedora,並且仍然用於不使用systemd
.
- Ubuntu 軟體套件是
readahead-fedora
.可透過儲存庫取得。 - 取代原來的
readahead
- 設定檔儲存在
/etc/readahead.d/custom.{early,later}
- 由下列任一事件觸發的分析
touch /readahead_collect
或者- 在啟動時設定核心參數
profile
。
- 至少每月自動分析一次
- Ubuntu 上的超級種子由
ureadahead
原始readahead
並readahead-fedora
創建了啟動時所需的文件列表。此列表將在啟動時按照最小化硬碟尋道的順序讀取。
ureadahead
我認為這是 Ubuntu 10.04 以來的預設值。
- 預裝
- 實際上創建了一個頁面文件,該文件在啟動時加載到記憶體中。
- 儲存在
/var/lib/ureadahead/pack
.若要在下次啟動時強制進行分析,請刪除此檔案。 - 安裝
dpkg
觸發器,每當安裝與init
.
烏班圖 >= 15.04
systemd
是vivid以來預設的init系統。它帶來了自己的預讀機制。ureadahead
不適用於systemd
.但 Evensystemd-readahead
現在已不再維護和棄用,因為顯然現在每個人都擁有 SSD...ureadahead
在使用upstart
.
如預期的那樣,您的系統已
ureadahead
安裝,但不含參數profile
。為什麼在設定設定檔後您會遇到較長的啟動時間,這是令人無法理解的。如果您也應用了所遵循的操作方法中的第二個技巧 ( CONCURRENCY=...
),則這可能是罪魁禍首。upstart
應該自己解決這個問題。
如前所述,要強制ureadahead
重新分析,請刪除該pack
文件
sudo rm /var/lib/ureadahead/pack
.pack
以及該目錄中可能的任何其他內容。請務必在啟動後快速登錄,因為ureadahead
即使啟動完成後也會記錄一些資訊。這樣它也有望包含 unity shell 或您正在使用的任何東西。
如果您想真正了解什麼需要多長時間才能開始,請查看引導圖。它產生啟動過程的圖形表示。