- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我试图了解 perf record 的 -c 和 -F 选项的真正作用,但我无法解释我所看到的。我正在运行这些命令:
perf record -a -F <frequency> sleep 1
和
perf record -a -c <count> sleep 1
尝试不同的频率 和计数 值。我得到的结果是 the following
在第一个表中我设置了频率,在第二个表中设置了计数。频率和计数如何影响事件的数量?我认为事件的数量与频率和计数无关,但显然并非如此。 perf 实际上做了什么?
最佳答案
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 record -F 来实现。所以perf record -F 1000
每秒将记录大约 1000 个样本,这些样本将在与事件对应的硬件/PMU 计数器溢出时生成。这意味着内核将动态调整采样周期以确保 sampling
过程遵守采样频率。
This采样周期是如何动态更新的。
采样频率越高,收集的样本数量就越多(几乎成比例)。
运行命令可以看到采样周期的变化-
sudo perf report -D -i perf.data | fgrep RECORD_SAMPLE
只要采样周期不断变化,事件总数就会随着采样周期的变化而不断增加。并且当采样周期保持固定时,事件总数保持固定并由上面显示的公式获得。在这两种情况下,事件总数都是近似值。
关于linux 性能记录 : difference between count (-c) and frequency (-F) options,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53449001/
我正在编写一个需要检测音频流中的频率的应用程序。我已经阅读了大约一百万篇文章,但在越过终点线时遇到了问题。通过 Apple 的 AVFoundation Framework,我可以通过此功能获得音频数
在一款RPG游戏中,假设有角色A和B。 A每秒将进行x次攻击 B每秒将进行y次攻击 如果我们假设 A 发起攻击,最终的攻击可能是: A A B A B ... 如何计算攻击顺序? 最佳答案 这是在 P
我正在为微 Controller 编写音调发生器程序。 我使用硬件计时器触发中断,并检查是否需要在特定时刻针对给定音符将信号设置为高电平或低电平。 我使用的硬件非常有限,所以我运行计时器的速度越慢,我
我在文本文件中有 500 个数值(范围从 1 到 25000)的原始观察,我想在 MATLAB 中进行频率分布。我确实尝试了直方图 (hist),但是我更喜欢频率分布曲线而不是 block 和条。 感
我正在学习Clojure,我在网上看到了这段代码: (count (filter #{42} coll)) 正如所述,它确实计算了 coll 中数字 42 的出现次数。 #{42} 是一个函数吗?关于
我想使用tf-idf计算词频。我起草了一个方程式,您应该在左侧获取tf-idf值。这样对吗? DOCUMENT的TF-IDF: tf-idf(WORD) = occurrences(WORD,DOCU
我正在使用 Stanford NLP Parsing 工具包。给定词典中的一个词,我如何找到它的频率*?或者,给定一个频率排名,我如何确定相应的词? *在整个语言中,而不仅仅是文本示例。 这是我正在使
public class ArrayStudentPoll { public static void main( String args[] ) { // array o
我想计算字典中每个值的数量,并构造一个以值作为键的新值,以及以所述值作为值的键列表。 Input : b = {'a':3,'b':3,'c':8,'d':3,'e':8} Output: c = {
此代码打印值“0”: String name = "aaa"; char[] mychar = new char[name.length()]; mychar = name.toCharArray()
那么,假设我有以下列表: List myList = getListFromSomePlace(); int frequency = Collections.frequency(myList, som
我有一个 list 要画。有没有办法显示部分 x 轴标签,例如 x[0], x[10], ...,但保持图形不变? x = ['alice', 'bob', ...] # string list, l
对于 Azure 搜索服务,我希望获得最接近实时的更新。我可以使用循环逻辑应用程序通过 REST API 执行它。 如果我非常频繁地调用逻辑应用程序(每 3 秒一次)。这种方法有什么问题吗? 索引器会
在 Excel 2010 中,A 列中有一个值列表,并且在 B1 中指定了 bin 大小。这允许我使用以下公式创建具有 N 个箱的直方图: {=频率(A:A,(ROW(INDIRECT("1:"&CE
具有以下功能: =FREQUENCY(C2:C724,D2:D37) 第二个参数是BIN 我不明白的是为什么 Excel 会增加其余值的 BIN。 BIN 没有改变!它保持同一个垃圾箱。然而,当我粘贴
为了简化我正在做的事情,让我们使用 learnfromexamples.com 中的示例我修改了一些位。 package test; import java.util.StringTokenizer;
有人可以向我解释一下,为了将这些元素添加到我的库存数组列表中,我做错了什么吗?问题是当我用 Collections.frequency 检查某个商品的库存时它继续说该项目的数量为零。 private
我正在尝试通过 android 设备的音频端口传输一些数据,我正在使用 FSK(频移键控)我正在使用两个不同的频率来表示 1 和 0。是否有任何 android 库或示例代码来 FSK 解码捕获的音频
我正在用 Java 实现“经验模式分解”。下一步是希尔伯特-黄变换,我需要找到如何获得“瞬时频率”。有人知道如何获得吗? 使用 EMD 方法,任何复杂的数据集都可以分解为有限且通常数量较少的分量,即固
我过去使用过 Collections.frequency 并且工作正常,但我现在遇到了问题,因为我使用的是 int[]。 基本上 Collections.frequency 需要一个数组,但我的数据是
我是一名优秀的程序员,十分优秀!