标签: perf

在没有 root 权限的情况下运行 perf

我正在使用该perf工具的 4.1 内核和 4.1 版运行 debian 测试。在这个版本中,他们似乎添加了某种保护,以防止普通用户从该工具收集数据。因此,perf以普通用户身份运行会出现此错误:

perf stat ls
Error:
You may not have permission to collect stats.
Consider tweaking /proc/sys/kernel/perf_event_paranoid:
 -1 - Not paranoid at all
  0 - Disallow raw tracepoint access for unpriv
  1 - Disallow cpu events for unpriv
  2 - Disallow kernel profiling for unpriv
Run Code Online (Sandbox Code Playgroud)

perf_event_paranoid在我的安装中包含 3 个。不幸的是,即使以 root 身份我也无法更改该文件。如何允许我自己的用户在perf没有 sudo 权限的情况下使用?

我有一个应用程序,我想对其进行基准测试,它不需要 root 并且我不想以 root 身份运行它来对其进行基准测试。

linux perf

41
推荐指数
1
解决办法
4万
查看次数

在 RedHat 上安装 perf

我阅读了有关perf工具的信息,并且对在我的 RedHat 中使用很感兴趣。在 Ubuntu 上,调用sudo apt-get install linux-tools-2.6.38-11.

红帽呢?我都试过:

yum install linux-tools
yum install perf
Run Code Online (Sandbox Code Playgroud)

......但它不起作用。

你知道我可以从哪里得到源代码以便我可以自己编译它吗?目前,YUM 存储库指向的服务器包含我们通常安装的大多数软件包,但可能缺少此软件包。

我可以添加什么存储库来下载它?

我对 yum 的调用正确吗?我从http://joysofprogramming.com/install-perf-fedora-rhel/读到那个电话

非常感谢

ps以下有关我的机器的详细信息

uname -a
Red Hat Enterprise Linux Server release 5.3 (Tikanga)

cat /etc/redhat-release
Linux lndbxdev01 2.6.24.7-108.el5rt #1 SMP PREEMPT RT Mon Mar 23 10:58:10 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

这是错误信息

Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
myrepository                                           |  951 B …
Run Code Online (Sandbox Code Playgroud)

yum perf redhat-enterprise-linux

5
推荐指数
2
解决办法
2万
查看次数

读取并解析 perf.data

我正在使用命令记录性能计数器 frm linux perf record

我想将结果perf.data用作其他编程应用程序的输入。你知道我应该如何读取和解析数据perf.data吗?

linux perf

5
推荐指数
1
解决办法
3406
查看次数

“perf”作为页面错误究竟显示了什么?

我想在我的脚本完整运行期间计算磁盘访问次数。我的 bash 脚本在本地运行另外 2 个可执行文件和远程运行另外 2 个可执行文件。像这样(那些可执行文件本身可以访问其他工具):

#!/bin/bash

./executable1 DATA1 &
./executable2 DATA2 &

ssh remote_host './executable3 DATA3' &
ssh remote_host './executable4 DATA4' &

wait;
Run Code Online (Sandbox Code Playgroud)

现在我正在运行我的 bash 脚本,perf如下所示:

perf stat -e page-faults,page-faults:u ./myBashScript.sh
Run Code Online (Sandbox Code Playgroud)

但结果总是相同的,无论我是否更改 DATA* 文件、命令、命令数量,......像这样:

128,470 page-faults
127,641 page-faults:u
Run Code Online (Sandbox Code Playgroud)

现在我的问题是“如何计算整个脚本的磁盘访问次数?”

附:

  • 如您所知,Linux 试图通过使用 ram 的可用空间作为缓存磁盘来减少磁盘访问次数,这里通过“计算磁盘访问次数”我确切的意思是操作系统需要将数据从硬盘带到主内存的次数(= RAM命中/未命中)
  • 我只需要计算本地机器上的磁盘访问次数而不是远程机器。
  • 抱歉英语不好。

memory linux cache perf

5
推荐指数
1
解决办法
2484
查看次数

将“perf stat”输出保存到文件中,而不保存执行命令的输出

我正在运行perf stat命令./start-server.sh -f server-config.xml

perf stat -e cache-misses ./start-server.sh -f server-config.xml

我想将perf结果保存到文件中,例如通过附加&>out.txt到命令,但是如果我将输出写入文件,那么我会同时捕获输出perfstart-server输出。有没有办法让我执行此命令,以便仅perf将输出写入输出文件?

linux bash command-line perf

1
推荐指数
1
解决办法
6587
查看次数

标签 统计

perf ×5

linux ×4

bash ×1

cache ×1

command-line ×1

memory ×1

redhat-enterprise-linux ×1

yum ×1