
echo 10000000 > /proc/sys/kernel/perf_event_max_sample_rate
但看起来我设定的值太大了.运行我的代码后,perf_event_max_sample_rate将更改回较低的值,例如12500.当我尝试更改更大的值(例如20000000,50000000等)时,样本速度不会随着值I更改而增加.有没有办法更快地更改perf_event_open采样速度?
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.
转载注明原文:linux – 如何更改perf_event_open最大采样率 - 乐贴网