最近用过bootchartd这个开源小工具。特长是分析系统的启动速度问题。
bootchart是一个统计系统启动过程中进程的CPU消耗和等待以及IO的消耗的情况的一个统计工具,其只是统计启动过程中的前几十秒不能代表一个完整的进程的启动和消耗情况,这个也是其局限性。
最后bootchartd会生成一个svg的图片,结果看起来很直观明了。
bootchartd的原理其实是在用其自身替代原来的init,原来的init可以再通过systemd来带动,这样久等于实际在系统的启动过程中多了一层结构,这层结构就是bootchartd专门用来检测系统启动的情况的。
另外一个需要特别注意的是,bootchartd检测到的时间是CPU时间,并且不是简单的运行main函数之后的时间,还包括系统load到mian函数启动之前的这段时间,所以分析的时候不要漏掉。