加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何更改perf_event_open最大采样率

发布时间:2020-12-14 00:54:27 所属栏目:Linux 来源:网络整理
导读:我正在使用perf_event_open来获取样本.我试图让每个人都受到重视.但是perf_event_open还不够快.我尝试使用以下命令更改采样率: echo 10000000 /proc/sys/kernel/perf_event_max_sample_rate 但看起来我设定的值太大了.运行我的代码后,perf_event_max_sample
我正在使用perf_event_open来获取样本.我试图让每个人都受到重视.但是perf_event_open还不够快.我尝试使用以下命令更改采样率:

echo 10000000 > /proc/sys/kernel/perf_event_max_sample_rate

但看起来我设定的值太大了.运行我的代码后,perf_event_max_sample_rate将更改回较低的值,例如12500.当我尝试更改更大的值(例如20000000,50000000等)时,样本速度不会随着值I更改而增加.有没有办法更快地更改perf_event_open采样速度?

解决方法

这是一种限制perf引起的开销的机制.您可以通过设置禁用它

sysctl -w kernel.perf_cpu_time_max_percent=0

使用风险由您自己承担 – 系统可能会停止响应.

https://www.kernel.org/doc/Documentation/sysctl/kernel.txt

perf_cpu_time_max_percent:

Hints to the kernel how much CPU time it should be allowed to use to
handle perf sampling events. If the perf subsystem is informed that
its samples are exceeding this limit,it will drop its sampling
frequency to attempt to reduce its CPU usage.

Some perf sampling happens in NMIs. If these samples unexpectedly
take too long to execute,the NMIs can become stacked up next to each
other so much that nothing else is allowed to execute.

0: disable the mechanism. Do not monitor or correct perf’s
sampling rate no matter how CPU time it takes.

1-100: attempt to throttle perf’s sample rate to this percentage of CPU. Note: the kernel calculates an “expected” length of each sample event. 100 here means 100% of that expected length. Even if this is set to 100,you may still see sample throttling if this length is exceeded. Set to 0 if you truly do not care how much CPU is consumed.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读