英语法语西班牙语

Ad


OnWorks 网站图标

perf-top - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 perf-top

这是命令 perf-top,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


perf-top - 系统分析工具。

概要


PERF 最佳 [-e | --event=EVENT] [ ]

商品描述


此命令实时生成并显示性能计数器配置文件。

配置


-a, --all-cpus
全系统收集。 (默认)

-C , --计数=
要采样的事件周期。

-C , --cpu=
仅监控提供的 CPU 列表。 可以提供多个 CPU 作为一个
没有空格的逗号分隔列表:0,1。 CPU 的范围用 -: 0-2 指定。
默认是监视所有 CPU。

-d , --延迟=
刷新之间延迟的秒数。

-e , --事件=
选择 PMU 事件。 选择可以是一个符号事件名称(使用 PERF 名单 列出
所有事件)或 rNNN 形式的原始 PMU 事件(eventsel+umask),其中 NNN 是
十六进制事件描述符。

-E , --entries=
显示这么多功能。

-F , --count-filter=
只显示事件比这更多的函数。

- 团体
将计数器放入一个计数器组。

-F , --频率=
在这个频率上配置文件。

-i, --继承
子任务不继承计数器。

-k , --vmlinux=
vmlinux 的路径。 注释功能所必需的。

-m , --mmap-pages=
mmap 数据页的数量(必须是 XNUMX 的幂)或附加的大小规范
单位字符 - B/K/M/G。 大小四舍五入为最接近页面的 XNUMX 次方
计算值。

-p , --pid=
现有进程 ID(逗号分隔列表)上的配置文件事件。

-t , --tid=
现有线程 ID(逗号分隔列表)上的分析事件。

-u,--uid=
在 uid 拥有的线程中记录事件。 姓名或号码。

-r , --实时=
使用此 RT SCHED_FIFO 优先级收集数据。

--sym-annotate=
注释此符号。

-K, --隐藏内核符号
隐藏内核符号。

-U, --隐藏用户符号
隐藏用户符号。

--demangle-内核
Demangle 内核符号。

-D, --转储符号表
转储用于分析的符号表。

-v,--详细
更详细(显示计数器打开错误等)。

-z,--零
跨显示更新的零历史记录。

-s,--排序
按键排序:pid、comm、dso、symbol、parent、srcline、weight、local_weight、abort、
in_tx,交易,开销,样本,期间。 请参阅--sort 中的说明
性能报告手册页。

--字段=
指定输出字段 - 可以以 CSV 格式指定多个键。 以下字段
可用:overhead、overhead_sys、overhead_us、overhead_children、sample 和
时期。 它也可以包含任何排序键。

默认情况下,将附加 --field 中未指定的每个排序键
自动。

-n, --show-nr-样本
显示包含样本数的列。

--show-total-期间
显示包含句点总和的列。

--dsos
只考虑这些 dsos 中的符号。 此选项将影响百分比
架空柱。 有关更多信息,请参阅 --percentage。

--通讯
只考虑这些通信中的符号。 此选项将影响百分比
架空柱。 有关更多信息,请参阅 --percentage。

--符号
只考虑这些符号。 此选项将影响开销的百分比
柱子。 有关更多信息,请参阅 --percentage。

-M, --反汇编风格=
为 objdump 设置反汇编程序样式。

- 来源
将源代码与汇编代码交错。 默认启用,禁用
——无源。

--asm-原始
显示汇编指令的原始指令编码。

-g
启用调用图(堆栈链/回溯)记录。

--call-graph [模式、类型、最小值[、限制]、顺序[、键][、分支]]
设置和启用调用图(堆栈链/回溯)记录,意味着 -g。 看
详细信息请参见 perf-record 和 perf-report 手册页中的 --call-graph 部分。

- 孩子们
将子项的调用链累积到父项,以便随后可以显示在
输出。 输出将有一个新的“Children”列,并将按数据排序。
它需要启用 -g/--call-graph 选项。 请参阅“开销计算”部分了解
更多细节。

--最大堆栈
解析调用链时设置堆栈深度限制,任何超出指定的
深度将被忽略。 这是信息丢失和更快之间的权衡
尤其适用于可能具有很长调用链堆栈的工作负载。

默认值:127

--忽略被调用者=
忽略与给定正则表达式匹配的函数的被调用者。 这具有以下效果
将每个此类函数的调用者收集到调用图树中的一个位置。

--百分比限制
不要显示开销低于该百分比的条目。 (默认值:0)。

- 百分比
确定如何显示过滤条目的开销百分比。 过滤器可以
通过--comms、--dsos 和/或--symbols 选项和 TUI 上的缩放操作应用
(线程、dso 等)。

“相对”意味着它仅与过滤的条目相关,以便
显示条目的总和将始终为 100%。 “绝对”意味着它保留
应用过滤器前后的原始值。

-w, --column-widths=
强制每个列宽到提供的列表,以提高终端可读性。 0 表示
没有限制(默认行为)。

--proc-map-超时
在处理预先存在的线程 /proc/XXX/mmap 时,可能需要很长时间,因为
该文件可能很大。 在这种情况下需要暂停。 此选项设置时间
出限制。 默认值为 500 毫秒。

-b,--分支-任何
启用已采取的分支堆栈采样。 可以对任何类型的分支进行采样。 这是一个
--branch-filter any 的快捷方式。 有关更多信息,请参阅 --branch-filter。

-j,--分支过滤器
启用已采取的分支堆栈采样。 每个样本捕获一系列连续采集
分支。 每个样本捕获的分支数量取决于底层
硬件、感兴趣的分支类型和执行的代码。 有可能
选择通过启用过滤器捕获的分支类型。 完整列表
修饰符请参阅 perf 记录联机帮助页。

该选项至少需要 any、any_call、any_ret、ind_call、cond 中的一种分支类型。
权限级别可以省略,在这种情况下,关联的权限级别
事件应用于分支过滤器。 内核 (k) 和管理程序 (hv) 特权
级别受权限限制。 对多个事件采样时,分支栈采样
为所有采样事件启用。 所有事件的采样分支类型都相同。
各种过滤器必须指定为逗号分隔列表:--branch-filter any_ret,u,k
请注意,此功能可能并非在所有处理器上都可用。

互动 提示 KEYS


并[d]
显示刷新延迟。

并[e]
要显示的条目数。

[E]
当多个计数器处于活动状态时显示的事件。

[F]
配置文件显示过滤器(>= 命中数)。

[F]
注释显示过滤器(>= 总数的 %)。

[S]
注释符号。

[小]
停止注释,返回完整的个人资料显示。

[Z]
在显示更新之间切换事件计数归零。

[QQ]
放弃。

按任何未映射的键会显示一个菜单,并提示输入。

高架 计算


开销可以在两列中显示为 儿童 当 perf 收集
调用链。 这 开销是通过将所有周期值相加来计算的
条目 - 通常是一个函数(符号)。 这是 perf 传统上显示的值,并且
所有的总和 开销值应为 100%。

孩子 开销是通过将子函数的所有周期值相加来计算的,因此
它可以显示更高级别函数的总开销,即使它们没有
直接执行多了。 儿童 这里的意思是从另一个(父)调用的函数
功能。

所有这些的总和可能会令人困惑 孩子 开销值超过 100%,因为
每一个都已经是 其子函数的开销。 但是随着
启用此功能,即使样本是
蔓延到孩子们身上。

考虑以下示例; 有如下三个功能。

.ft C
无效 foo(void) {
/* 做点什么 */
}

空栏(空){
/* 做点什么 */
富();
}

诠释主要(无效){
酒吧()
0返回;
}
英尺

在这种情况下 FOO 是一个孩子 酒吧酒吧 是直系子 so FOO 也是一个
的孩子 。 换一种说法, 是父母 FOO酒吧酒吧 是父母
FOO.

假设所有样本都记录在 FOO酒吧 只要。 当它用调用链记录时
输出将在 perf 的通常(仅自我开销)输出中显示如下内容
报告:

.ft C
架空符号
……………………
60.00% 富
|
--- 富
酒吧

__libc_start_main

40.00% 酒吧
|
- - 酒吧

__libc_start_main
英尺

启用 --children 选项后, 子函数的开销值(即
FOO酒吧) 被添加到父母中以计算 孩子 高架。 在这种情况下
报告可以显示为:

.ft C
儿童自我符号
………………………………
100.00% 0.00% __libc_start_main
|
--- __libc_start_main

100.00% 0.00% 主要
|
- - 主要的
__libc_start_main

100.00% 40.00% 条形
|
- - 酒吧

__libc_start_main

60.00% 60.00% 富
|
--- 富
酒吧

__libc_start_main
英尺

在上面的输出中, 的开销 FOO (60%) 被添加到 孩子 的开销
酒吧, __libc_start_main。 同样, 的开销 酒吧 (40%) 被添加到
孩子 的开销 __libc_start_main.

So __libc_start_main 首先显示,因为它们具有相同 (100%) 孩子
开销(即使他们有零 开销),他们是 FOO
酒吧.

从 v3.16 开始 孩子 默认情况下显示开销,输出按其排序
值。 这 孩子 通过指定 --no-children 选项来禁用开销
命令行或通过添加 报告儿童 = false or 孩子们 = false 在性能
配置文件。

使用 onworks.net 服务在线使用 perf-top


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad