本文详细介绍并行启动应用程序从而加速 Linux 的引导
使用 upstart
编译和安装 upstart 非常简单,并且遵循典型的 configure、make 和 make install 模式。 Upstart 提供了一组示例作业,它们与典型的 init 配置兼容。与 initng 类似,新应用程序必须要根据需求编写自己的作业(可能还需要添加新事件)。不管怎样,部署新的 init 系统都会有一些风险。不过 upstart 的优点当然值得去冒这些风险并执行其他必要的操作。
正如上面介绍的一样,initctl 工具提供了人们对 telinit 所期望的功能。不过 initctl 也为跟踪和调试提供了附加功能。
其他选项
本文中介绍的这两种方法 —— initng 和 upstart —— 并不是只有这两种程序可以替代 init。您还会找到其他的 init 替代程序,例如 runit、pardus、 minit 和 einit。所有这些程序在 Linux 社区中都有一些支持者和一定的促进动力。现在,upstart 可能就是我们要了解的一个,因为它已经被流行的 Ubuntu 发行版采纳为 init 的替代程序。
使用 bootchart 监视 init 性能
在修改了系统引导进程后,理解修改的内容以及其如何影响系统引导的总时间会非常有帮助。Ziga Mahkovec 开发了一个非常有用的工具 bootchart,可以可视化地表示启动进程的组成。这个工具由几个元素组成,包括一个数据日志记录器工具和一个可视化工具。
数据日志记录器在(bootchartd)是在 init 进程中运行的(通常,在 grub 或 lilo.conf 文件中指定)。在 bootchartd 完成初始化之后,就会将控制权交给真正的 init 进程(通常是 /sbin/init)。Bootchartd 本质上是一个分析器,它每隔一段时间定期对环境进行采样(默认间隔是 200ms)。所谓对环境进行采样,就是说它可以读取当前 CPU 的统计信息、I/O 和空闲事件、磁盘使用情况以及每个活动进程的信息(通过 proc 文件系统)。数据保存在一个临时文件(/var/log/bootchart.tgz)中用于稍后进行二次处理。
Bootchart 然后会使用一个二次处理工具将原始数据转换成一个引导图。这个过程可以在本地使用一个 Java™ 应用程序(bootchart 发行版的一部分)来完成,不过更简单的方法是通过 bootchart 主页上的一个 Web 表单来完成。图 2 展示了引导图表的部分示例。注意这些图将会非常大(这取决于所启动的服务和应用程序)。
图 2. bootchartd 所创建的引导图片断

结束语
与 Linux 本身一样,存在很多方法和大量的灵活性对引导时间进行优化。从基于依赖关系的解决方案(如 initng)到基于事件的解决方案(如 upstart),总会有一种优化解决方案能够满足您的要求。使用 bootchart 包,您可以深入理解系统的引导时间是如何分配的,从而进一步进行优化。
来源:ibm 作者:M. Tim Jones 责编:豆豆技术应用
- Linux/Unix新闻
- Linux/Unix入门
- Linux/Unix命令
- Linux/Unix安装
- Linux/Unix编程
- Linux/Unix管理
- Linux/Unix桌面
- Linux/Unix内核
- Linux/Unix软件
- Linux/Unix发行版
- redhat/Fedora
- Ubuntu Linux
- IBM AIX
- FreeBSD
- Solaris
- NetBSD
- SCO Unix
- find基本用法
- ldd命令原理及用法例子
- su和sudo命令的区别与使用技巧
- Linux操作系统下的dd命令技巧
- 关于Top命令的参数详解
- 关于Tar命令的使用
- SSH实用技巧及常用命令使用
- Linux后台执行命令
- VI命令使用技巧集锦
- Vmstat命令列出的属性详解
- 如何查看及修改文件读写权限
- 最大可存储的单文件容量
- ext2/ext3文件系统介绍
- 常用压缩格式的压缩解压方法
- Linux系统的引导过程详细解析
- Configure参数解释说明
- Linux下硬盘和分区的命名方法
- 硬链接与软链接的区别
- 权限和所有权模型
- 存储设备的两种表示方法