As you change the landscape of the system boot process, it's useful to understand what changed and how it affects the overall time to boot. Ziga Mahkovec has built a very useful tool called bootchart to visualize the makeup of the boot process. This tool consists of several elements, including a data logger utility and a visualization utility.
The data logger (bootchartd) runs in the place of the init process (usually, specified in the grub or lilo.conf files). After bootchartd has initialized, it surrenders control back to the real init process (typically, /sbin/init). Bootchartd is essentially a profiler that samples the environment at a periodic interval (by default, once every 200 ms). By sampling the environment, I mean that it reads the current CPU statistics, I/O and idle times, disk usage, and information about every active process (through the proc file system). This data is stored in a temporary file (/var/log/bootchart.tgz) for later post-processing.
Bootchart then uses a post-processing tool to transform the raw data into a boot chart. This process can occur locally using a Java™ application (part of the bootchart distribution), but an easier method is through a Web form located at the bootchart home page. An example piece of a boot chart is shown in Figure 2. Note that these charts tend to be quite large (depending on the services and applications started). For links to complete examples, see Resources.
代码: 全选
选中了曾被取消选择的软件包 fastjar。
(正在读取数据库 ... 系统当前总共安装有 194776 个文件和目录。)
正在解压缩 fastjar (从 .../fastjar_1%3a4.1.1-13ubuntu5_i386.deb) ...
选中了曾被取消选择的软件包 libgcj7-jar。
正在解压缩 libgcj7-jar (从 .../libgcj7-jar_4.1.1-14ubuntu7_all.deb) ...
选中了曾被取消选择的软件包 java-gcj-compat。
正在解压缩 java-gcj-compat (从 .../java-gcj-compat_1.0.65-6ubuntu1_i386.deb) ...
选中了曾被取消选择的软件包 librsvg2-bin。
正在解压缩 librsvg2-bin (从 .../librsvg2-bin_2.16.0-0ubuntu2_i386.deb) ...
选中了曾被取消选择的软件包 bootchart。
正在解压缩 bootchart (从 .../bootchart_0.9-0ubuntu6_all.deb) ...
正在设置 fastjar (4.1.1-13ubuntu5) ...
正在设置 libgcj7-jar (4.1.1-14ubuntu7) ...
正在设置 java-gcj-compat (1.0.65-6ubuntu1) ...
正在设置 librsvg2-bin (2.16.0-0ubuntu2) ...
正在设置 bootchart (0.9-0ubuntu6) ...
update-initramfs: Generating /boot/initrd.img-2.6.17-11-generic