简介
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 打印帮助信息
分享到:
相关推荐
其中,Bootchart是一个性能分析工具,能够在Linux启动过程中搜集数据并将其可视化,以图形的方式展示出来,帮助开发者分析启动时间的分布。Printk打印是另一个重要的工具,它能记录内核中发生事件的时间戳,有助于...
本文将详细介绍如何在Arm-Linux环境下设置自定义开机启动程序,并避免启动系统携带的桌面环境。 #### 二、实现步骤 ##### Step1: 拷贝工程到根目录下 首先,需要将UI工程拷贝到系统根目录下。可以在`/root`目录下...
chkconfig 是 Linux 系统中的一个工具,用于管理系统服务的启动和停止。我们可以使用以下命令将 MySQL 服务添加到系统启动项中: ``` cp /usr/local/mysql5/share/mysql/mysql.server /etc/init.d/mysqld chkconfig...
在Linux中,开机自启动通常涉及到`/etc/rc.d`或`/etc/init.d`目录下的脚本,或者在现代的Systemd系统中,是通过`/etc/systemd/system`目录下的服务单元文件(service unit file)来完成的。针对Qt应用程序,我们需要...
总之,Bootchart是Android和ARM设备启动流程分析的强大工具,它的使用可以帮助我们更好地理解和改进系统性能,提升用户的开机体验。通过细致的分析和不断的优化,我们可以让设备以更快的速度迎接每一次的开启。
springboot项目linux系统下 通用 启动脚本 支持日志输出、远程调试开启 支持start、stop、restart命令 通用启动脚本,只需将服务名改成自己的服务名即可! 保证可用!
本文将深入探讨如何优化Linux系统的启动时间,并提供一系列实用的技术和工具,帮助用户缩短启动过程。 #### 一、什么是快速启动(Fast Boot) 快速启动指的是最小化系统启动所需的时间。系统启动时间是指从电源...
**Linux系统启动过程详解与Bootchart工具应用** 在Linux操作系统中,系统启动是一个复杂而关键的过程,涉及到内核加载、初始化、驱动程序加载、服务启动等多个环节。了解启动过程对于优化系统性能,尤其是缩短启动...
Linux系统的开机画面是指在Linux系统启动时显示的界面,包括字符信息和自定义的开机画面。本文将详细介绍Linux系统的虚拟控制台和帧缓冲区机制,并分析隐藏Linux系统开机字符信息和显示自定义开机画面的方法。 ...
linux开机自动启动es脚本,亲测有效
本文详细介绍了 Linux 系统服务管理和配置的相关知识点,包括 chkconfig 命令的使用、系统服务的添加、删除、启动和关闭、服务启动顺序的配置等。 一、chkconfig 命令 chkconfig 命令是 Red Hat 公司开发的一款 ...
你可以使用`chkconfig --add weblogic`命令将服务添加到启动列表,并使用`chkconfig weblogic on`使其在特定运行级别下启动。 此外,为了确保WebLogic日志的自动备份,脚本中包含了一个检查和移动旧日志的逻辑。当...
Debian Linux 系统开机启动项管理 Debian Linux 系统的开机启动项管理是指在系统启动时,执行各种初始化和设置操作的过程。该过程涉及到多个关键脚本和配置文件,以下是 Debian Linux 系统开机启动项管理的知识点...
Linux jar包开机自启脚本 ,更改linux的jdk目录 更改jar包名即可,然后在rc.local添加此脚本位置
找了半天,linux配置tomcat开机启动的教程,太麻烦了,自己总结出一套简单有效的方法,分享一下
### Linux 下配置 Tomcat 开机启动 #### 概述 本文档主要介绍如何在 Linux 系统中配置 Apache Tomcat 服务器实现开机自动启动。通过编写一个简单的 Bash 脚本,并将其设置为系统服务的方式,可以确保 Tomcat ...
本文档详细介绍了在 Linux 系统中设置开机自动启动程序的方法。包括在 /etc/rc.d/rc.local 中增加启动命令、将 apache 注册为系统服务、在 Red Hat Linux 中自动运行程序、登录时自动运行程序、退出登录时自动运行...
该文件用于分析用于Android/Linux系统启动过程分析,转换数据为SVG/PNG图片以查看开机过程中各程序的启动顺序和系统资源分布情况
总的来说,rc.local是Linux系统中一种传统的开机启动配置方式,尽管在某些情况下已被systemd取代,但它仍然是一个有效的工具,尤其是对于那些希望快速设置开机启动脚本的用户而言。了解rc.local的工作原理和使用技巧...