这是 perf-stat 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
perf-stat - 运行命令并收集性能计数器统计信息
概要
PERF 统计 [-e | --event=EVENT] [-a]
PERF 统计 [-e | --event=EVENT] [-a] — [ ]
商品描述
此命令运行命令并从中收集性能计数器统计信息。
配置
...
您可以在 shell 中指定的任何命令。
-e,--事件=
选择 PMU 事件。 选择可以是:
· 一个象征性的事件名称(使用 PERF 名单 列出所有事件)
· rNNN 形式的原始 PMU 事件(eventsel+umask),其中 NNN 是十六进制
事件描述符。
· 象征性形成的事件,如 pmu/参数1=0x3,参数2/ 其中 param1 和 param2
被定义为 PMU 的格式
/sys/bus/event_sources/devices/ /格式/*
· 象征性形成的事件,如 pmu/config=M,config1=N,config2=K/ 其中 M、N、K
是数字(十进制、十六进制、八进制格式)。 每个可接受的值 配置,
配置1 和 配置2 参数由相应的条目定义
/sys/bus/event_sources/devices/ /格式/*
-i, --no-继承
子任务不继承计数器
-p, --pid=
现有进程 id 上的 stat 事件(逗号分隔列表)
-t, --tid=
现有线程 id 上的 stat 事件(逗号分隔列表)
-a, --all-cpus
来自所有 CPU 的系统范围收集
-c,--规模
缩放/标准化计数器值
-r, --repeat=
重复命令并打印平均值 + stddev(最大值:100)。 0 表示永远。
-B,--大数
根据语言环境打印带有千位分隔符的大数字
-C,--cpu=
仅依赖提供的 CPU 列表。 可以提供多个 CPU 作为一个
没有空格的逗号分隔列表:0,1。 CPU 的范围用 -: 0-2 指定。 在
每线程模式,此选项被忽略。 -a 选项仍然需要激活
全系统监控。 默认是依赖所有 CPU。
-A, --无聚合
不要在系统范围模式 (-a) 中汇总所有受监控 CPU 的计数。 这个
选项仅在系统范围模式下有效。
-n, --空
空运行 - 不启动任何计数器
-v,--详细
更详细(显示计数器打开错误等)
-x SEP, --字段分隔符 SEP
使用 CSV 样式的输出打印计数,以便于直接导入
电子表格。 列由 SEP 中指定的字符串分隔。
-G 名称,--cgroup 名称
仅在名为“name”的容器(cgroup)中监控。 此选项仅在
每 CPU 模式。 必须挂载 cgroup 文件系统。 所有线程属于
容器“名称”在受监控的 CPU 上运行时受到监控。 多个 cgroup
可以提供。 每个cgroup应用到对应的事件上,即第一个cgroup
到第一个事件,第二个 cgroup 到第二个事件,依此类推。 可以提供一个
使用例如 -G foo,,bar 清空 cgroup(始终监视)。 Cgroups 必须有
相应的事件,即它们总是指之前在命令中定义的事件
线。
-o 文件,--输出文件
将输出打印到指定文件中。
- 附加
附加到使用 -o 选项指定的输出文件。 如果 -o 不是,则忽略
指定的。
--log-fd
将输出记录到 fd,而不是 stderr。 与 --output 互补,互斥
用它。 --append 可以在这里使用。 示例: 3>results perf stat --log-fd 3 — $cmd
3>>结果 perf stat --log-fd 3 --append — $cmd
--前,--后
前后测量挂钩,例如:
性能统计 --repeat 10 --null --sync --pre 使 -s O=defconfig-构建/清理 — 制作 -s -j64
O=defconfig-build/bzImage
-I 毫秒, --interval-print 毫秒
每 N 毫秒打印一次计数增量(最小值:10 毫秒)
在某些情况下会很高,例如间隔很小,低于 100 毫秒。 谨慎使用。
例: PERF 统计 -I 1000 -e 周期 -a 睡觉 5
--每个套接字
用于系统范围模式测量的每个处理器插槽的聚合计数。 这是一个
检测套接字之间不平衡的有用模式。 要启用此模式,请使用 --per-socket
除了-a。 (全系统)。 输出包括套接字编号和编号
该套接字上的在线处理器数量。 这有助于衡量数量
聚合。
--每核
用于系统范围模式测量的每个物理处理器的聚合计数。 这是一个
检测物理内核之间不平衡的有用模式。 要启用此模式,请使用
--per-core 除了 -a。 (全系统)。 输出包括核心数和
该物理处理器上的在线逻辑处理器的数量。
--每线程
监视线程时(-t 选项)或
进程(-p 选项)。
-D 毫秒,--延迟毫秒
启动程序后,在测量前等待毫秒。 这有助于过滤掉
程序的启动阶段,这通常是非常不同的。
-T,--交易
如果支持,打印事务执行的统计信息。
示例
$ perf stat - make -j
'make -j' 的性能计数器统计信息:
8117.370256 任务时钟滴答 # 11.281 CPU 利用率
678 次上下文切换 # 0.000 M/sec
133 CPU 迁移 # 0.000 M/sec
235724 页错误 # 0.029 M/sec
24821162526 CPU 周期 # 3057.784 M/sec
18687303457 指令 # 2302.138 M/sec
172158895 缓存引用 # 21.209 M/sec
27075259 缓存未命中 # 3.335 M/sec
已用挂钟时间:719.554352 毫秒
使用 onworks.net 服务在线使用 perf-stat