常用性能分析工具之systemtap、getPerfInfo
2016-10-18 16:53
274 查看
1)SystemTap 是监控和跟踪运行中的 Linux 内核的操作的动态方法。
a)SystemTap 脚本由探针和在触发探针时需要执行的代码块组成。探针有许多预定义模式,如下:
#begin 在脚本开始时触发
#end 在脚本结束时触发
#kernel.function("sys_sync") 调用 sys_sync 时触发
#kernel.function("sys_sync").call 同上
#kernel.function("sys_sync").return 返回 sys_sync 时触发
#kernel.syscall.* 进行任何系统调用时触发
#kernel.function("*@kernel/fork.c:934") 到达 fork.c 的第 934 行时触发
#module("ext3").function("ext3_file_write") 调用 ext3 write 函数时触发
#timer.jiffies(1000) 每隔 1000 个内核 jiffy 触发一次
#timer.ms(200).randomize(50) 每隔 200 毫秒触发一次,带有线性分布的随机附加时间(-50 到 +50)
b)SystemTap 的语言元素
#if (exp) {} else {} 标准的 if-then-else 语句
#for (exp1 ; exp2 ; exp3 ) {} 一个 for 循环
#while (exp) {} 标准的 while 循环
#do {} while (exp) 一个 do-while 循环
#break 退出迭代
#continue 继续迭代
#next 从探针返回
#return 从函数返回一个表达式
#foreach (VAR in ARRAY) {} 迭代一个数组,将当前的键分配给 VAR
2)getperfinfo是我们公司开发的自动化检证工具。
a)getPerfInfo.sh [选项参数]
--notop 不采集top信息
--iotop 采集iotop信息
--noiotop 不采集iotop信息
--novirttop 不采集virt-top信息
--netstat 采集网络信息。因为采集网络信息时负载和信息量会显著增加,要确保提前进行。
-d outdir 将结果输出到目录。当输出目录不存在,自动创建一个目录。当输出目录存在,报错。默 认输出目录是/tmp/perfMMDDhhmmss
-z outfile 指定输出文件
Interval 采集间隔
count 采集次数
--kill 强制停止单次采集
--rstart 循环采集
--rstop 停止循环采集
-r rotation 循环采集,可设置1-1000,默认7次
-v 本工具版本信息
1)SystemTap 是监控和跟踪运行中的 Linux 内核的操作的动态方法。
a)SystemTap 脚本由探针和在触发探针时需要执行的代码块组成。探针有许多预定义模式,如下:
#begin 在脚本开始时触发
#end 在脚本结束时触发
#kernel.function("sys_sync") 调用 sys_sync 时触发
#kernel.function("sys_sync").call 同上
#kernel.function("sys_sync").return 返回 sys_sync 时触发
#kernel.syscall.* 进行任何系统调用时触发
#kernel.function("*@kernel/fork.c:934") 到达 fork.c 的第 934 行时触发
#module("ext3").function("ext3_file_write") 调用 ext3 write 函数时触发
#timer.jiffies(1000) 每隔 1000 个内核 jiffy 触发一次
#timer.ms(200).randomize(50) 每隔 200 毫秒触发一次,带有线性分布的随机附加时间(-50 到 +50)
b)SystemTap 的语言元素
#if (exp) {} else {} 标准的 if-then-else 语句
#for (exp1 ; exp2 ; exp3 ) {} 一个 for 循环
#while (exp) {} 标准的 while 循环
#do {} while (exp) 一个 do-while 循环
#break 退出迭代
#continue 继续迭代
#next 从探针返回
#return 从函数返回一个表达式
#foreach (VAR in ARRAY) {} 迭代一个数组,将当前的键分配给 VAR
2)getperfinfo是我们公司开发的自动化检证工具。
a)getPerfInfo.sh [选项参数]
--notop 不采集top信息
--iotop 采集iotop信息
--noiotop 不采集iotop信息
--novirttop 不采集virt-top信息
--netstat 采集网络信息。因为采集网络信息时负载和信息量会显著增加,要确保提前进行。
-d outdir 将结果输出到目录。当输出目录不存在,自动创建一个目录。当输出目录存在,报错。默 认输出目录是/tmp/perfMMDDhhmmss
-z outfile 指定输出文件
Interval 采集间隔
count 采集次数
--kill 强制停止单次采集
--rstart 循环采集
--rstop 停止循环采集
-r rotation 循环采集,可设置1-1000,默认7次
-v 本工具版本信息
相关文章推荐
- 研究性能测试工具之systemtap入门之latencytap脚本应用(三)
- 研究性能测试工具之systemtap入门指南(五)
- 常用性能监测,分析和优化工具
- 常用诊断工具如Perf、SystemTap 等
- 常用Java性能测试工具的分析与对比
- 研究性能测试工具之systemtap入门指南(一)
- Linux系统下常用性能分析工具 top命令详解
- 常用Java性能测试工具的分析与对比
- 常用系统性能分析工具
- Android 常用的性能分析工具详解:GPU呈现模式, TraceView, Systrace, HirearchyViewer
- 研究性能测试工具之systemtap入门指南(四)
- 常用的java性能分析工具和命令
- 研究性能测试工具之systemtap入门之latencytap脚本应用(二)
- 运维工作常用的性能分析工具介绍
- Linux系统下常用性能分析工具 top命令详解
- 研究性能测试工具之systemtap入门指南(三)
- top 命令是 Linux 下常用的性能分析工具
- Linux下常用的性能分析工具-top命令
- 性能文件分析以及常用的分析工具
- 监控与性能分析系列:3)systemtap