linux啟動(dòng)優(yōu)化是這個(gè)比較大的話題,這邊以virutalbox的中的ubuntu 18.04 LTS為例,閑的慌,摸石頭過(guò)河,探索下啟動(dòng)時(shí)間優(yōu)化如何進(jìn)行,歡迎高手輔導(dǎo)。
ubuntu 虛擬機(jī)的配置如下
- 2 cpu
- 2G 內(nèi)存
虛擬硬盤(pán)是在移動(dòng)硬盤(pán)上的,操作系統(tǒng)系統(tǒng)是ubuntu 18.04 LTS, 安裝了ubuntu-desktop
ubuntu 使用了systemd 啟動(dòng)服務(wù)的,有個(gè)工具是systemd-analyze可以用來(lái)做啟動(dòng)分析。
這里看到,啟動(dòng)graphical花了57s, 系統(tǒng)整體啟動(dòng)花了12分鐘,時(shí)間都去哪了呢
貌似apt update 這個(gè)沒(méi)必要搞,自己想要升的時(shí)候升就好了,關(guān)了,免的啟動(dòng)占內(nèi)存。
systemctl disable
其他的service 挨個(gè)的baidu,google 一把,用不到的關(guān)了,像ModemManager.service, wpa_supplicant.service , 沒(méi)這個(gè)硬件設(shè)備,fstrim.service 這個(gè),老子是硬盤(pán),不是ssd,關(guān)了都關(guān)了
各式各樣的關(guān)完一遍,重啟下,看看能不能起來(lái),功能正常,起不來(lái),就重新打開(kāi),這是一個(gè)長(zhǎng)期的過(guò)程。
這階段下來(lái)時(shí)間基本上就是進(jìn)1 min了,但是graphical 的啟動(dòng)時(shí)間還是太長(zhǎng)
關(guān)鍵路徑分析下
systemd-analyze critical-chain
紅的貌似都不能干掉的樣子,咋辦?
systemd-analyze polt > starup.svg
會(huì)生成一個(gè)巨nb的unit啟動(dòng)圖,如下
根據(jù)圖例看啟動(dòng)的svg,還是因?yàn)橥瑫r(shí)啟動(dòng)的東西太多了,繼續(xù)干服務(wù), 中間你可能會(huì)發(fā)現(xiàn)有服務(wù)明明關(guān)了,但是又起來(lái)了,你需要
systemctl list-dependencies default.target
來(lái)了解下他們直接的依賴(lài)關(guān)系
snapd的時(shí)間始終都下不來(lái)
最后查了一波,snapd 貌似是個(gè)bug,vboxadd.service貌似也做的不怎么好,為了啟動(dòng)時(shí)間,強(qiáng)關(guān)了
一波猛如虎的操作后,時(shí)間進(jìn)入了30s
勉強(qiáng)努力了下,算是有點(diǎn)成果了吧,但是現(xiàn)實(shí)還是挺打臉的,雖然上面標(biāo)得時(shí)間是24s,但是gdm顯示出來(lái)還是很耗時(shí)間的,要差不多1分鐘
這么一波下來(lái),感觸良多
- 要啟動(dòng)快不要選systemd,解析load那一波unit 要幾秒鐘,傷不起
- ubuntu或者應(yīng)該說(shuō)gnome的桌面系統(tǒng)的性能有待加強(qiáng)