热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu12.10启动时间调查

最近Ubuntu系统使用了一段时间以后,发现系统启动变慢,刚装完系统的时候启动大概半分钟,现在发现启动时间感觉快1分钟了,于是决定调查一下。首先Google一下,发现网上希望加速Ubuntu启动的帖子也不少,首先推荐的是一个叫bootchart的工具,它可以记录Ubuntu系统的启动过程,还提供图形化的显示,于是就安装一个:linuxidc@www.linuxidc.com:~$&n

最近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


推荐阅读
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文讨论了在Linux系统中,使用chown命令将django项目目录下的static目录的拥有者从root改为eureka的问题。作者尝试了多种命令,包括chown和sudo chown等,但都没有成功修改拥有者。文章提供了相关目录的权限信息,并补充了项目所在磁盘和操作系统的信息。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • STM32与FPGA的对比及学习建议
    本文对比了野火STM32F103指南针板和Xilinx的PYNQ-Z2板(ZYNQ-7020),介绍了野火STM32F103指南针板的学习资料和讲解视频的详细程度,建议初学者学习野火的资料。同时,介绍了STM32开发所用的Keil程序和C指针的重要性。对于ZYNQ-7020的开发,提到了其自带的Linux、Ubuntu18.4系统以及使用SD卡烧入镜像的方法。 ... [详细]
  • 本文介绍了如何在使用emacs时去掉ubuntu的alt键默认功能,并提供了相应的操作步骤和注意事项。 ... [详细]
  • 本文主要讨论了在xps15上安装双系统win10和MacOS后,win10无法正常更新的问题。分析了可能的引导问题,并提供了解决方法。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
author-avatar
杰_Jb_131
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有