您的位置:首页 > 运维架构 > Linux

Linux系统下开机启动时间检测工具bootchart

2010-06-24 13:09 1186 查看

简介

Bootchart 是一种很方便的工具,主要用于分析Linux 系统下的启动过程,并且能够形成一个层次分明的图片,让用户很直观的查看系统启动的过程和各个过程耗费的时间,以便用户能够分析启动过程,从而进行优化以提高启动时间。它由bootchartd 服务和bootchart-render 两部分组成,后者主要负责生成启动流程的分析结果图。

安装bootchart

目前,在各大Linux 发行版本中,基本都带有这个包。你只需通过他们对应的源,进行安装即可。具体的安装方法可以参见各发行版的具体的包管理机制。
另外,你还可以从http://www.bootchart.org/download.html 处下载到相应的源码包,进行编译安装即可。要注意的是bootchart 是一个基于java 的程序。所以的有相应的环境方可。

运行Bootchart

要使bootchart 运行,你需要将他添加到引导器的初始化进程选项,或者手动在init 脚本(通常是rc.sysinit )中手动添加。不过需要注意的是,如果你是手动添加到init 脚本的,那么也要手动停止它,这种情况需要特别留意!

启动引导器设置

下面我们介绍常用的方法,即将原有引导选项复制一份,并在内核项后面添加'init=/sbin/bootchartd' ,然后通过启动引导器引导bootchart 。这样bootchart 会在登录提示符出现的时候自动停止。

Grub 中添加的方法

打开/boot/grub/menu.lst, 复制粘贴原有的引导记录,并在kernel 行后添加"init=/sbin/bootchartd" 。如下例:
# (1) Arch Linux Bootchart

title Arch Linux

root (hd0,0)

kernel /vmlinuz26 root=/dev/disk/by-uuid/d531ff5b-de65-499a-9942-d18682375163 init=/sbin/bootchartd

initrd /kernel26.img

Grub 2 中的添加方法

打开/boot/grub/grub.cfg ,复制原来的引导区域并按照下面的范例修改之:
# (0) Arch Linux

menuentry "Arch Linux" {

set root=(hd0,1)

linux /boot/vmlinuz26 root=/dev/sda1 ro

initrd /boot/kernel26.img

}

# (1) 带bootchartd 的Arch Linux 引导项

menuentry "Arch Linux with Bootchart" {

set root=(hd0,1)

linux /boot/vmlinuz26 root=/dev/sda1 ro init=/sbin/bootchartd

initrd /boot/kernel26.img

}

然后你就可以重启,并选择代bootchart 选项的启动项了。

rc.sysinit 脚本中的设置方法

这种方法有一定的危险性(可能导致原有系统无法启动),所以除非前一种方法失败,否则不要用这种方法。采用这种方式,不光是每次都要手动停止bootchart (否则很快就会占满硬件资源),而且每次开机都会运行一次,而且以后每次软件包升级 /etc/rc.sysinit 的时候,这些设置都会被覆盖掉。
另一方面,这种方式是可以让你看到登录后所发生的一些东西的。
编辑/etc/rc.sysinit 脚本,先将下面这一行添加到/etc/rc.sysinit
/sbin/bootchartd start

这一行不宜太靠前,否则这部分出问题会导致系统无法启动。当然也不宜太靠后,因为他之前的项目都无法观察得到。 我们推荐把他放在配置系统时钟行的前面。找到如下行:
stat_busy "Configuring System Clock"

将下面这一行添加到其前面:

/sbin/bootchartd start

生成bootchart 文件

在使用bootchart 启动以后,我们要做的就是使用相关命令,生成一个适合查看的图片文件。具体的生成步骤如下:
1. 登录后关闭 bootchartd 服务
这种方式一定记住,在登录后停止bootchartd 服务。你可以以管理员帐户执行
/sbin/bootchartd stop

也可以用sudo 通过下面的命令来执行:
sudo /sbin/bootchartd stop

2. 生成分析结果图表

你可以通过运行下面的命令来生成分析结果图:
bootchart -o 目录名 -f 文件格式

确保运行命令的目录有写权限,程序就会生成一个名为'bootchart.svg' 的图像,这就是分析结果图。当然如果你跟了 -f ,指定格式后,就会生产相应格式的图像文件。

你需要事先安装Java 运行环境并且在此之前设置正确。

Bootchart 命令常用的参数介绍:

-f,--format <format> 指定文件格式 (png | eps | svg; default: png)
-h,--help 打印帮助信息
-o,--output-dir <dir> 指定文件输出到那个目录下,默认是当前目录
-v,--version 打印帮助信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: