码迷,mamicode.com
首页 > 其他好文 > 详细

perf工具crash的问题

时间:2018-07-02 14:12:16      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:cpu   更新   /tmp   事件   抓取   use   分享图片   clock   时钟   

perf抓取时系统crash的情况。找前同事了解到perf工具导致系统crash的一种情况,

perf工具默认是使用cycles,这个硬件事件是使用NMI,可能会导致内核错误。

技术分享图片

之前文档上的perf命令更新下,指定使用软件事件cpu-clock(注意:不知道perf命令还有没有别的坑,请注意生产上谨慎使用)

perf record -p `pidof mysqld` -e cpu-clock -g -o /tmp/perf.data sleep 10

 

这两个事件的区别:

cpu-clock可以用来表示程序执行经过的真实时间,而无论CPU处于什么状态(Pn(n非0)或者是C状态);

而CPU cycles则用来表示执行程序指令花费的时钟周期数,如果CPU处于Pn(n非0)或者是C状态,则cycles的产生速度会减慢。

也即,如果你想查看哪些代码消耗的真实时间多,则可以使用cpu-clock事件;而如果你想查看哪些代码消耗的时钟周期多,则可以使用CPU cycles事件。

 

参考资料:

http://github.tiankonguse.com/blog/2016/03/29/perf-record.html

perf工具crash的问题

标签:cpu   更新   /tmp   事件   抓取   use   分享图片   clock   时钟   

原文地址:https://www.cnblogs.com/wangdong/p/9253408.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!