創用 CC 授權條款
除非另有註明,本網站的著作Fygul Hether製作,以創用CC 姓名標示-非商業性-禁止改作 4.0 國際 授權條款釋出。

2017年10月27日 星期五

Ubuntu 16.04關機時等很久

之前自從換了Ubuntu 16.04桌面版後就發現關機經常要花較久時間,而且用了這麼久了,即使系統一直更新也沒有很好的改善。就連前一陣子試了Ubuntu 17.04與17.10仍難免如此,另外也試了Linux Mint 18.2(基本上它也是採用Ubuntu 16.04為基礎),也有同樣現象。因為新的版本仍有此相當困擾人的問題,所以就決定在此補上本文做個記錄。

就以前的使用過程中觀察所得到的發現,在有有線網路連結或以手機連網時,關機時會比沒有連線來的久很多。還有,若有非開機時自動掛載的外部硬碟,關機前若先正常卸載,也有助縮短關機時間。

沒去了解這現象的問題所在,一度懷疑可能是4.x版核心方面的問題。過去,Linux的核心的代碼品質曾被批評過[1]。不過就自己觀察的發現,最近版本的核心已較過去小很多了,希望能繼續改善。

先不管真正問題的根源何在,而且造成關機花很久時間的原因也可能有多種,我後來發現有人提出不同的解決方式。

一種[2]是修改 /etc/systemd/system.conf 中預設啟動與關閉的逾期時間:

DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s
修改的設定要在下回重開機時才會生效。

另一種方式[3],與前述我所觀察到的現象中的network-manager有關。做法是縮短Upstart[4]在關閉network-manager進程之前的等待時間到1秒。在MATE中,可以這麼做:

$ gksudo pluma /etc/init/network-manager.conf
在stop on stopping dbus下加入一行:

kill timeout 1
記得儲存檔案。

做了這修改後,在多數情況下,關機過程會順利很多。在少數情況,像有自行掛載了NTFS硬碟時,若在關機前忘了先卸載時,仍可能會關機等很久。不過這種已不是什麼大問題了,自己養成關機前自行先把這類裝置卸載就成了。

其他

前文主要談關機等很久的問題,若開機慢,可以參考[2]中提到的,查看開機時,各個服務啟動時所花的時間:

$ systemd-analyze blame
顯示的結果會依所花時間做排序。

另一個實用的東西,可用來顯示系統規格的訊息[6]:

$ inxi -ACDMNSG
有時候在與人討論問題時,若對方想了解你的系統規格時這就很方便了。

參考

  1. https://en.wikipedia.org/wiki/Criticism_of_Linux
  2. https://ubuntu-mate.community/t/help-with-slow-boot-and-shutdown-of-16-04/5622
  3. https://sites.google.com/site/installationubuntu/home/ubuntu-16-4-lts/make-slow-shutdown-faster
  4. http://upstart.ubuntu.com/cookbook/
  5. http://manpages.ubuntu.com/manpages/zesty/man1/systemd-analyze.1.html
  6. http://manpages.ubuntu.com/manpages/xenial/en/man1/inxi.1.html
updated: 2018-8-19

沒有留言:

張貼留言