`
Michaelmatrix
  • 浏览: 208009 次
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

阅读更多

简介

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" 。如下例:

Grub 2 中的添加方法

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

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

rc.sysinit 脚本中的设置方法

这种方法有一定的危险性(可能导致原有系统无法启动),所以除非前一种方法失败,否则不要用这种方法。采用这种方式,不光是每次都要手动停止bootchart (否则很快就会占满硬件资源),而且每次开机都会运行一次,而且以后每次软件包升级 /etc/rc.sysinit 的时候,这些设置都会被覆盖掉。

另一方面,这种方式是可以让你看到登录后所发生的一些东西的。

编辑/etc/rc.sysinit 脚本,先将下面这一行添加到/etc/rc.sysinit

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

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

生成bootchart 文件

在使用bootchart 启动以后,我们要做的就是使用相关命令,生成一个适合查看的图片文件。具体的生成步骤如下:

1. 登录后关闭 bootchartd 服务

这种方式一定记住,在登录后停止bootchartd 服务。你可以以管理员帐户执行

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


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 打印帮助信息

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics