【问题标题】:perf ftrace falis to startperf ftrace falis 开始
【发布时间】:2019-01-15 14:18:06
【问题描述】:

尝试启动 perf ftrace 时出现以下错误

write '' to tracing/tracing_cpumask failed: Invalid argument
failed to reset ftrace

但是我的内核配置了启用 ftrace 并且 trace-cmd ftrace 前端也可以正常工作。


由于某种原因,在write_tracing_file 函数中的perf/builtin-ftrace.c 文件中我得到了

static int __write_tracing_file(const char *name, const char *val, bool append)
{
        char *file;
        int fd, ret = -1;
        ssize_t size = strlen(val);

我得到val == 一个空字符串,因此size == 0

然后在下一节

if (write(fd, val_copy, size + 1) == size + 1)
                ret = 0;
        else
                pr_debug("write '%s' to tracing/%s failed: %s\n",
                         val, name, str_error_r(errno, errbuf, sizeof(errbuf)));

我得到了size = 0,这不行。所以 CPU 掩码部分出了点问题,但我不知道是什么。


编辑: 看起来它在多核系统上工作没有问题,但在单核系统上没有问题。奇怪……

【问题讨论】:

    标签: kernel perf ftrace


    【解决方案1】:

    我以某种方式解决了这个问题。安装了perf 的所有依赖项,包括libnuma-dev 等。现在它可以工作了。

    【讨论】:

      【解决方案2】:

      因为 perf 版本与当前内核不匹配。

      如果您通过 yum 安装 perf。它将安装最新的版本性能。你需要从网上下载匹配的性能并安装它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-04
        • 1970-01-01
        • 2013-04-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多