Count
и frequency
- это два основных переключателя, которые настраивают частоту дискретизации при использовании perf record
(который выполняет внутреннюю выборку).
Счет
Когда вы запускаете perf record -c <number>
, вы указываете период выборки (где «число» - период выборки).То есть для каждого «числового» вхождения события будет записана выборка.Образец будет записан, когда счетчик производительности, который отслеживает количество событий, был переполнен.
Я предполагаю, что вы получаете количество событий с помощью perf report
.Обратите внимание, что perf report
никогда не сообщит фактическое количество событий, а только приблизительное.Количество событий будет меняться по мере того, как вы продолжаете настраивать период выборки.perf report
будет считывать только файл perf.data
, который генерирует perf record
, и исходя из размера сгенерированного файла, он делает предположение о количестве записанных выборок (зная размер выборки, записанной в памяти).Фактическое число записанных событий получается как -
Number of events = Fixed Sample Period * Number of samples collected
, где период фиксированной выборки соответствует тому, что вы указали с perf record -c
.
Частота
Это другой способ выразить период выборки, то есть указать среднюю частоту выборок в секунду (частоту), что вы можете сделать с помощью perf-записи -F.Таким образом, perf record -F 1000
будет записывать около 1000 выборок в секунду, и эти выборки будут генерироваться при переполнении счетчика оборудования / PMU, соответствующего событию.Это означает, что ядро будет динамически корректировать период выборки, чтобы убедиться, что процесс sampling
соответствует частоте выборки.
Это , как динамически обновляется период выборки.
Чем выше частота выборки, тем больше количество собранных выборок (почти пропорционально).
Изменение периода выборки можно увидеть, выполнив команду -
sudo perf report -D -i perf.data | fgrep RECORD_SAMPLE
Всякий раз, когда период выборки продолжает изменяться, общее число событий будет увеличиватьсяс изменением периода выборки.И когда период выборки остается фиксированным, общее количество событий остается фиксированным и получается по формуле, показанной выше.Общее количество событий будет приблизительным в обоих случаях.