linux 性能统计命令,在linux中定期读取性能计数器

似乎Linux中的perf工具通过在计数器达到特定值时记录事件而不是定期采样来工作.

命令perf记录-e周期,指令-c 10000每10000个周期和每10000个指令存储一个事件.它可以针对新命令或现有pid运行.它记录到当前目录中的perf.data.

分析数据是另一回事.使用perf脚本让你非常接近:

ls 16040 2152149.005813: cycles: c113a068 ([kernel.kallsyms])

ls 16040 2152149.005820: cycles: c1576af0 ([kernel.kallsyms])

ls 16040 2152149.005827: cycles: c10ed6aa ([kernel.kallsyms])

ls 16040 2152149.005831: instructions: c1104b30 ([kernel.kallsyms])

ls 16040 2152149.005835: cycles: c11777c1 ([kernel.kallsyms])

ls 16040 2152149.005842: cycles: c10702a8 ([kernel.kallsyms])

...

您需要编写一个脚本,该脚本从该输出中获取一串行,并计算该集合中“周期”和“指令”事件的数量.您可以通过更改录制命令中的参数-c 10000来调整分辨率.

我通过针对ls /运行perf stat和perf记录来验证分析. Stat报告了2 634 205个周期,1 725 255个指令,而脚本输出具有410个周期事件和189个指令事件. -c值越小,循环读取中的开销就越大.

还有一个-F选项来执行记录,定期采样.但是,在使用此选项时,我找不到检索计数器值的方法.

编辑:perf stat显然也适用于pids,并捕获数据直到按下ctrl-c.修改源应该非常容易,因此它总是捕获N秒,然后在循环中运行它.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值