红联Linux门户
Linux帮助

用bootchart分析Linux开机过程,关掉影响开机速度的程序

发布时间:2015-12-21 10:46:24来源:linux网站作者:eechen

在终端中执行以下命令:
sudo apt-get install bootchart pybootchartgui
https://wiki.ubuntu.com/BootCharting
http://www.bootchart.org/samples.html
截图.

用bootchart分析Linux开机过程,关掉影响开机速度的程序


安装bootchart时会执行以下操作:
update-initramfs: Generating /boot/initrd.img-3.14.18-031418-generic
由一个运行在initramfs里的工具执行审计操作,记录计算机启动时的状态.
/usr/share/initramfs-tools/scripts/init-top/bootchart
update-initramfs - generate an initramfs image
sudo nano /etc/init/bootchart.conf 注释掉 start on 这一行即可禁用 bootchart.


bootchart用于记录开机过程中各种进程消耗的时间,CPU,I/O操作.
bootchart收集的数据打包在/var/log/bootchart,里面包含PNG或SVG图片(需要安装pybootchartgui):
/var/log/bootchart/ubuntu-trusty-20150111-1.png
/var/log/bootchart/ubuntu-trusty-20150111-1.tgz


通过分析bootchart启动图和dmesg日志找出Linux系统启动慢的原因.
启动记录图主要包含这些内容:
1.CPU使用率和I/O等待
2.磁盘吞吐量和使用率
3.进程的CPU时间,等待I/O的时间,睡眠时间
另外注意有3条时间分隔线,第一条标记hostname启动,中间那一条标记Xorg启动,第三条标记开机完成(对应头部的time开机总计时间).


关闭VirtualBox/MySQL/PHP-FPM/Nginx后开机时间从70秒降到60秒.
Linux上在Chrome里打开两次开机的启动图,在Chrome标签上滚动切换,对比分析,更加直观.
对比可见,hostname到Xorg的时间明显缩短了.
Xorg的启动是在/etc/rc.local之后的,也就是在屏幕亮度降低之后的.


注意到systemd-udevd这个进程消耗的CPU和磁盘都挺多.
udev是Linux Kernel的设备管理器,它主要的功能是管理/dev下的设备节点.


Linux开机流程以及运行级别:http://www.linuxdiyf.com/linux/7013.html

让你的Linux开机10秒!:http://www.linuxdiyf.com/linux/6300.html

Linux开机启动详解:http://www.linuxdiyf.com/linux/3523.html