【perf工具导致系统hang住的原因是触发了低版本kernel的bug】
今天在测试服务器做压测,运行perf record做性能分析时,系统再次hang住了,这次在系统日志中记录了一些有用的信息,如下
Dec 25 14:37:05 kernel: BUG: soft lockup - CPU#1 stuck for 67s!
通过在网上搜索,确认这是linux kernel的一个bug,详细描述如下:
https://bugzilla.redhat.com/show_bug.cgi?id=843640
该bug在kernel 3.5.4修复,
This Linux kernel change, a part of the Linux 3.5.4 release, is about uprobes: Fix mmap_region()’s mm->mm_rb corruption if uprobe_mmap() fails.
也有用户反馈过使用systemtap工具1.8版本也可能触发以上bug
https://sourceware.org/bugzilla/show_bug.cgi?id=14348
【结论】
perf是linux性能分析的一个核心工具,在CentOS 6.4的系统中,kernel version是2.6.32,有一定的概率会触发上面的bug,导致系统hang住。
在我们新升级的CentOS 7.4的系统上,kernel version是3.10.0,已修复上面的bug,可以放心使用了。
数据库运维经验分享&MySQL源码学习漫漫路