使用systemtap统计mysql使用频次最高的系统调用
cat process_syscall.stp
global calls
probe syscall.* {
if(pid()==target())
calls[name] <<< 1
}
probe timer.s(60){
foreach(n in calls- limit 5)
printf("%s : %d\n", n, @count(calls[n]))
delete calls
}
io_getevents : 2639
setsockopt : 759
futex : 528
fcntl : 425
read : 308
参照资料
- 官方文档
- SystemTap Tapset Reference Manual
- SystemTap: Instrumenting the Linux Kernel for Analyzing Performance and Functional Problems
- 量化InnoDB group commit的效果
- Linux 自检和 SystemTap
- 淘宝储霸的systemtap系列
- Linux 下的一个全新的性能测量和调式诊断工具 Systemtap, 第 2 部分: DTrace
- SystemTap/DTrace with MySQL & Drizzle