歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 12.10啟動時間調查

Ubuntu 12.10啟動時間調查

日期:2017/2/28 14:45:08   编辑:Linux教程

最近Ubuntu系統使用了一段時間以後,發現系統啟動變慢,剛裝完系統的時候啟動大概半分鐘,現在發現啟動時間感覺快1分鐘了,於是決定調查一下。

首先Google一下,發現網上希望加速Ubuntu啟動的帖子也不少,首先推薦的是一個叫bootchart的工具,它可以記錄Ubuntu系統的啟動過程,還提供圖形化的顯示,於是就安裝一個:

linuxidc @ www.linuxidc.com:~$ sudo apt-get install bootchart

裝完以後重啟機器

系統重啟以後到 /var/log/bootchart/下查看,發現有一個.gz文件和.png圖片,.gz文件解開後發現是對disk,process等統計,數據比較抽象,不好懂,於是打開.png文件查看:

大體上可以看出,啟動過程有三個主要的部分:

1) 0~15秒:是IO密集,CPU相對空閒的階段;從下面對應的進程描述來看又mountall,fsck這樣的東東,估計是內核在mount文件系統和磁盤檢測等;

2) 15~35秒:是IO空閒,CPU也空閒的階段;在下面看到主要是ifup,bridge,ifconfig這樣的東西,估計是在做跟網絡相關的東西,這段時間居然要20秒(說明一下,我是在筆記本上做的,還有無線等設備);

3) 35~55秒:是IO開始又變得密集,CPU也密集的階段,這階段出現的東西很多,有網絡管理服務,登錄服務和桌面等等

同時,我又用dmesg命令看了一下,從時間上基本可以印證上述3個階段做的事情:

[ 2.275412] EXT4-fs (sda7): mounted filesystem with ordered data mode. Opts: (null)

[ 11.478634] Adding 4083708k swap on /dev/sda5. Priority:-1 extents:1 across:4083708k

[ 11.526044] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

[ 11.639571] udevd[479]: starting version 175

[ 11.762504] lp: driver loaded but no devices found

[ 12.072290] EXT4-fs (sda7): re-mounted. Opts: errors=remount-ro

第2秒倒12秒跟mount有關;

[ 14.814577] br0: port 1(eth0) entered listening state

[ 14.814587] br0: port 1(eth0) entered listening state

[ 23.797215] br0: port 1(eth0) entered learning state

[ 32.800776] br0: topology change detected, propagating

[ 32.800805] br0: port 1(eth0) entered forwarding state

第14秒倒32秒跟網絡又關,而且是跟我設置的br0(網橋,我用來實驗虛擬機網絡的)有關。

於是,我又暫時去掉了網橋,再次啟動後發現第2階段的時間如下:

[ 11.526044] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

[ 16.317051] r8169 0000:04:00.0: >eth0: link up

也就是說不用網橋,網絡起來秩序要不到5秒鐘。

因此我最近Ubuntu系統啟動顯然是由於設置了網橋造成的。

另外,還了解到,如果需要進一步縮減啟動時間,那麼:

1. 使用SSD硬盤;

剩下的為了減少第1階段和第3階段IO密集型的操作,主要瓶頸在disk的IO讀寫上,因此只有更換SSD硬盤才有好的效果;

2. 可以安裝 bum工具來管理服務,禁用一些不需要的服務(但是要小心,萬一禁掉一些系統必須的服務,可能會導致系統不能啟動)。

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

Copyright © Linux教程網 All Rights Reserved