perf工具crash的问题】的更多相关文章

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可以用…
pre.cjk { font-family: "Nimbus Mono L", monospace } p { margin-bottom: 0.1in; line-height: 120% } a:link { } 重要参考文献: www.brendangregg.com/blog/2017-06-30/package-flame-graph.html www.brendangregg.com/blog/2014-06-12/java-flame-graphs.html Java F…
前段时间Linux下用nmon监控程序的运行,发现CPU的使用率很高,系统态Sys的比例很高.程序的速度不是很快,怀疑和上面的原因有关. 分别使用perf record,perf report和top -H -p,pstack分析发现.2种可能性,跳表skiplist和内存大量分配回收时lru回收,都会用到spin lock自旋锁,导致CPU Sys的使用率很高. 最后替换了跳表skiplist,CPU Sys的使用率很高的问题得以解决. perf工具是Linux自带的性能分析工具,常用的命令:…
工作环境是suse11sp3系统(内核版本3.0.101-0.47.90-default),需要通过perf排查系统性能问题,但是默认是没有perf工具的. 在网上搜索了一下,需要linux-tools工具包,幸好手上有SUSE11sp3 ISO文件,直接在ISO的suse/x86_64目录下 找到了perf-3.0.76-2.10.31.x86_64.rpm 安装包. 尝试安装了一下,报错: # rpm -ivh perf-3.0.76-2.10.31.x86_64.rpm error: Fa…
[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=…
环境:Qemu + ARMv8 perf是一款综合性分析工具,大到系统全局性性能,再小到进程线程级别,甚至到函数及汇编级别. 在内核源码目录下执行编译脚本: #!/bin/bash cross_compile=aarch64-linux-gnu- make CROSS_COMPILE=$cross_compile ARCH=arm64 defconfig make CROSS_COMPILE=$cross_compile ARCH=arm64 menuconfig make CROSS_COMP…
若一个App没有加入Crashlytics或者Buggly这些崩溃日志监控,那么我们在App崩溃的时候如何获取崩溃信息呢? 此时我们可以通过symbolicatecrash工具对手机日志来进行分析定位,需要以下一些步骤: 一.获取crash日志文件 1.手机直接获取日志 在手机 设置->隐私->分析->数据分析 中找到对应App(文件名为App设置的product name),打开文件,右上角可以分享导出文件,分享出来的文件改一下后缀为.crash 2.使用iTools导出日志 使用iT…
http://blog.chinaunix.net/uid-10540984-id-3854969.html http://blog.csdn.net/zhangskd/article/details/37902159 [root@localhost ~]# perf record -e cpu-clock ./t1 [ perf record: Woken up 1 times to write data ][ perf record: Captured and wrote 0.003 MB…
[root@localhost ~]# cat test1.c void longa() { int i,j; ; i < ; i++) j=i; //am I silly or crazy? I feel boring and desperate. } void foo2() { int i; ; i < ; i++) longa(); } void foo1() { int i; ; i< ; i++) longa(); } int main(void) { foo1(); foo2…
https://perf.wiki.kernel.org/index.php/Tutorial http://os.51cto.com/art/201105/265133.htm 在LINUX 源代码中安装perf [root@localhost perf]# pwd/usr/src/kernels/linux-2.6.32/tools/perf [root@localhost perf]# yum install binutils-devel [root@localhost perf]# ma…