linux 下性能分析 ---bootchart【转】

转自:https://winddoing.github.io/post/5f89ded7.html

BootChart 是一个用于 linux 启动过程性能分析的开源软件工具,它可以在内核装载后就开始运行,记录各个程序启动占用的时间、CPU 以及硬盘读写,直到系统启动完成为止。进入系统后,bootchart 可以将启动时记录下的内容生成多种格式(PNG,SVG 或者 EPS)的图形报表,以便分析。

一般应用运行分析

用 perf 录制系统的 sched 情况

1
2
3
$sudo perf sched record -a
^C[ perf record: Woken up 5 times to write data ]
[ perf record: Captured and wrote 11.284 MB perf.data (87520 samples) ]
 

生成 timechart

1
2
$sudo perf timechart
Written 24.6 seconds of trace to output.svg.
 

使用 Firefox 浏览器查看生成结果:

bootchart_sample

bootchart_sample

 

系统启动时间的分析

bootchart

ubuntu20.04 中不适用,不过使用 systemd-analyze 可以查看开机时间和耗时部分

1
sudo apt install bootchart pybootchartgui
 

~ 在 ubuntu20.04 系统安装后 (其他系统安装也可),下次系统启动时生成一个系统启动时的各个组件启动所花的时间的记录的图表,此图表位于:/var/log/bootchart 文件夹下。默认格式为.png 格式~

initcall_debug 内核启动图

这个方法多用于嵌入式系统中,在内核命令行中添加 initcall_debug 参数,可以在 dmesg 日志中打印出每个函数调用的时间点

  1. 将 dmesg 的日志保存到 boot.log 中
  2. 运行内核源码中自带的 scripts/bootgraph.pl 脚本生成启动图 (矢量图)
    1
    scripts/bootgraph.pl boot.log > boot.svg
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章