linux启动时间分析,使用Bootchart分析Linux启动过程

在 LinuxSir 潜水的时候发现有一名叫 Bootchart 的程序可以分析系统启动的时间并生成图表。本人使用本机子做了一个测试,有很多的发现。

有关 Bootchart 的安装在这里不作复述。如需,请查看代码包中的 INSTALL 和 README 文件。

测试环境

本次的测试环境使用本人的笔记本电脑(型号是 DELL L400)。具体的硬件参数如下:

CPU 具体信息:processor : 0

vendor_id : GenuineIntel

cpu family : 6

model : 8

model name : Pentium III (Coppermine)

stepping : 10

cpu MHz : 696.982

cache size : 256 KB

fdiv_bug : no

hlt_bug : no

f00f_bug : no

coma_bug : no

fpu : yes

fpu_exception : yes

cpuid level : 2

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse

bogomips : 1389.36

内存以及启动好了以后的占用量:total used free shared buffers cached

Mem: 126360 104708 21652 0 11812 55560

-/+ buffers/cache: 37336 89024

Swap: 393584 0 393584

主板等相关的配置信息:00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)

00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)

00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 02)

00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)

00:07.2 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01)

00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)

00:08.0 Multimedia audio controller: Cirrus Logic Crystal CS4281 PCI Audio (rev 01)

00:0a.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (rev 01)

00:0d.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78)

00:10.0 Communication controller: Agere Systems WinModem 56k (rev 01)

01:00.0 VGA compatible controller: ATI Technologies Inc Rage Mobility P/M AGP 2x (rev 64)

由于本次测试主要的目的是检查启动过程中是什么程序运行最慢,并如何的解决。所以此次的内核我采用 Slackware 11.0 原版的 bare.i 内核,并加载硬件必要的驱动。

第一部分测试

首先我启动日常所需要用到的所有程序和服务。更具如下图所示,总体从开机(引导内核)到控制台的时间刚好为一分钟(time: 1:00):(图片1)

1193416091.gif

仔细分析了下相关的服务,发现系统启动运行期间有两个位置 CPU 的负载非常的大。我看了下,主要是检测 usb.agent 程序和 fsck 程序在运行,并且磁盘的 IO 也比较的频繁。根据图示,此段的时间持续了 10s (时间点是在 10s - 18s 之间)。

第二个高峰是在 42s 上下,是系统正在启动服务器阶段。此时 httpd(Apache)和 MySQL 正在启动运行。

第二部分测试

第二部分的测试我关闭了 Apache 和 MySQL 等服务的运行,发现系统的启动时间只用了 46s。主要的系统滞留时间主要还是第一项测试的 fsck 阶段和 ldconfig 程序。(图片2)

1193416058.gif

总结

Bootchart 可以非常直观的分析出系统启动过程的状态。在本机中,可以看出系统的主要瓶颈是磁盘的 IO 和 CPU 的性能。Linux 内核本身对内存的要求并不高,而相应的应用服务却需要一定的硬件资源。建议根据相应的服务“对症下药”。

同时这也是可以优化的。比如内核是没有经过重新编译的、 fsck 也可以在每次开机的过程中设置成关闭,以提高启动速度。

最后,启动速度的快慢并不代表启动以后的运行速度的快慢。Linux 安装于服务器上时,对于系统启动的速度并不是一个非常严格的量,毕竟服务器是应用为主。过份的优化可能会导致不必要的麻烦。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值