这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 operf,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
operf - 适用于 Linux 的性能分析器工具
概要
操作 [ 选项 ] [ --system-wide | --pid | [命令[参数]]]]
商品描述
Operf 是 OProfile 提供的分析器工具。 Operf 使用 Linux 性能事件
子系统,因此不需要过时的 oprofile 内核驱动程序。
默认情况下,operf 使用/oprofile_data 作为会话目录并存储分析
那里的数据。 您可以通过 --会话目录 选项。 通常的后
剖析分析工具,例如 报告(1) 和 an(1) 可用于生成
个人资料报告。 除非一个 会话目录 指定后处理分析工具
将在/oprofile_data 首先。 如果那个目录没有
存在,后处理工具使用 /var/lib/oprofile 的标准会话目录。
统计数据,例如接收到的样本总数和丢失的样本,写入 operf.log
文件可以在/samples 目录。
跑 模式
以下一项(且仅一项) 运行 模式 必须指定:
命令[参数]
要分析的命令或应用程序。 ARGS 是输入参数
命令或应用程序需要。
--pid / -p 电位诱导衰减
此选项使 operf 能够分析正在运行的应用程序。 电位诱导衰减 应该是
您希望分析的进程的进程 ID。 完成分析后(例如,当
分析过程结束),按 Ctrl-c 停止 operf。 如果你跑 操作 --pid 作为一个
后台作业(即,使用 &),您 必须 以受控的方式停止它
以便它处理它收集的配置文件数据。 用 杀 -信号情报
为了这个。
局限性: 使用此选项分析多线程应用程序时
还分叉新进程,请注意分叉进程的样本
在分析开始之前可能不会被记录(取决于线程的时间
创建和 operf 启动时)。
--全系统 / -s
此选项用于执行系统范围的配置文件。 你必须有root权限
在这种模式下运行 operf。 完成分析后,Ctrl-c 停止 operf。 如果你
运行 操作 --全系统 作为后台作业(即,使用 &),您 必须 停下来
一种受控方式,以便它处理它收集的配置文件数据。
使用 VHDL 语言编写 杀 -信号情报 以此目的。 建议运行时
operf 使用这个选项,用户的当前工作目录应该是 /根 或者
的子目录 /根 避免将样本数据文件存储在可访问的位置
普通用户。
其他 配置
--vmlinux / -k vmlinux 路径
与具有符号和/或调试信息的正在运行的内核相匹配的 vmlinux 文件。
内核样本将归属于这个二进制文件,允许后处理工具
(如 opreport)将样本归因于适当的内核符号。
内核符号信息可以从 / proc / Kallsyms 如果用户这样做
不指定 vmlinux 文件。 符号地址在 / proc / Kallsyms if
/proc/sys/kernel/kptr_restrict 的设置允许。
如果 --vmlinux 未使用选项,并且无法从中获取内核符号
/ proc / Kallsyms,那么所有内核样本都归于“no-vmlinux”,即
只是一个用来保存样本的桶,而不是一个实际的文件。
--事件 / -e 事件 1[,事件 2[,...]]
此选项用于传递以逗号分隔的事件规范列表
剖析。 每个事件规范的形式如下:
名称:count[:unitmask[:kernel[:user]]]
这个 数 value 用于控制分析的采样率; 它是
样本之间发生的事件数。 通过指定一个
更高 数 值 — 即,样本之间发生的事件数量更多。
您可以指定 单位掩码 使用数值(十六进制值 必须
以“0x”开头)或符号名称(如果 姓名= 字段显示在
帮助 输出)。 对于一些命名单元掩码,十六进制值不是唯一的; 因此,
OProfile 工具强制按名称指定此类单元掩码值。 如果没有单位掩码
指定时,将使用事件的默认单位掩码值。
这个 核心 和 用户 事件规范的一部分是二进制值(“1”或“0”)
指示是否为内核空间和用户空间收集样本。
请注意: 为了指定 内核/用户 位,您还必须指定一个 单位掩码
值,即使处理器类型(或指定的事件)不使用单元掩码
— 在这种情况下,使用值“0”表示空单元掩码; 例如:
-e INST_RETIRED_ANY_P:100000:0:1:0
^^^^
| | | |--- '0':不记录用户空间样本
| | |-- '1':记录内核空间样本
| |-- '0':空单元掩码
|--计数值
某些 IBM PowerPC 系统的事件名称包括 _玻璃钢 (组号)后缀。
您可以传递完整的事件名称或基本事件名称(即,没有
后缀)到 操作 如果传递基本事件名称, 操作 会自动
为事件选择合适的组号后缀; 因此,OProfile 后
处理工具将始终显示包含组号的真实事件名称
后缀。 当没有给出事件规范时,运行的默认事件
处理器类型将用于分析。 用 帮助 列出可用的事件
适合您的处理器类型。
--调用图 / -g
此选项允许在分析期间保存调用图。 注意:全
调用链被记录,所以没有深度限制。
--单独的线程 / -t
此选项按线程组 ID (tgid) 和线程 ID (tid) 对样本进行分类。 这
'--separate-thread' 选项对于查看多线程中的每线程样本很有用
线程应用程序。 当与“--system-wide”选项结合使用时,
'--separate-thread' 选项对于查看每个进程也很有用(即,每个-
线程组)样本,用于多个进程执行相同的情况
分析运行期间的程序。
--分离-cpu / -c
此选项按 CPU 对样本进行分类。
--会话目录 / -d 径
此选项指定保存样本数据的会话路径。 如果没有指定,
数据保存在 oprofile_data 当前路径上的目录。
--懒惰转换 / -l
使用此选项可减少开销 操作 在分析期间。 通常,配置文件
在分析期间从内核接收到的数据被转换为 OProfile 格式
时间。 在分析单个应用程序时,这通常不是问题。 但当
使用 --全系统 选项,这种即时转换过程可能会导致
显着的开销,特别是在繁忙的多处理器系统上。 这 - 懒惰的-
转变 选项指示 操作 等到分析完成后再做
配置文件数据的转换。
请注意: 这个选项是 而不去 建议配合使用 --pid
用于分析多线程进程的选项。 取决于线程的顺序
创建(或分叉新进程),您可能无法获得新进程的任何样本
线程/进程。
- 附加 / -a
默认情况下, 操作 将旧的配置文件数据从/样本/当前到
/样品/以前。 如果“上一个”配置文件已经存在,它将
被替换。 如果 - 附加 选项被传递,旧的配置文件数据留在原地
并且新的配置文件数据将被添加到其中,“上一个”配置文件(如果有
存在)将保持不变。 要访问“上一个”配置文件,只需添加一个
oprofile 后处理工具的正常调用的会话规范。
例如:
报告 会话:上一个
--详细 / -V 水平
以逗号分隔的调试控制值列表,用于增加详细程度
的输出。 有效值为:debug、record、convert、misc、sfile、arcs 或
特殊值“全部”。
- 版 / -v
显示 operf 版本。
- 帮帮我 / -h
显示简短的使用信息。
- 用法 / -u
显示简短的使用信息。
例
$ 操作
VERSION
此手册页适用于 oprofile-1.1.0。
使用 onworks.net 服务在线使用 operf