---
title: Ubuntu系统HPC应用分析任务数据采集失败
description: "Ubuntu系统HPC应用分析任务数据采集失败。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevkithistory/devkit_24/usermanual/kunpengfaq_06_0017.html
sourcePath: /source/zh/kunpengdevkithistory/devkit_24/usermanual/kunpengfaq_06_0017.html
indexId: be028f7f0def51ec7d611ae27c3ec8ba91b07d8ca0f4e260f7224379c1cffcc176
---
# Ubuntu系统HPC应用分析任务数据采集失败

#### 现象描述

Ubuntu系统HPC应用分析任务数据采集失败。


#### 可能原因

由于Ubuntu 13.04及以后版本禁用了perf script中的python scripting功能，创建HPC应用分析任务进行数据采集时会失败。为了能在Ubuntu操作系统中支持这一功能，需要重新编译并替换系统中的perf。


#### 处理步骤

1. 使用SSH远程登录工具，以root用户进入Linux操作系统命令行界面。
2. 执行命令uname -r，查看当前的内核版本kernel-version。
  本例中查询结果如上图所示，则内核版本为4.15.0。

3. 下载当前内核对应的perf版本。

```
mkdir /home/linux_kernel
cd /home/linux_kernel
apt-get update
apt-get source linux-source-
<kernel-version
>
```


  其中<kernel-version>为步骤 2中的结果。

  下载源码如下图所示：

4. 编译perf。
  查看缺少的依赖包。

```
cd /home/linux_kernel/linux-4.15.0/tools/perf
make
```


  控制台提示找不到的依赖包，需要依据提示信息安装对应包。

  python scripting功能需要的包有：python-dev、libelf-dev、libunwind-dev、libaudit-dev和libslang2-dev。

  执行以下命令安装包：

```
apt-get install python-dev libelf-dev libunwind-dev libaudit-dev libslang2-dev
make
make install
```


  可以发现libaudit, libelf, libpython, libslang, libunwind, lzma, bpf开关已打开。

5. 检测perf编译是否成功。

```
cd /home/linux_kernel
/home/linux_kernel/linux-4.15.0/tools/perf/perf record
/home/linux_kernel/linux-4.15.0/tools/perf/perf script -g python
```


  目录下生成perf-script.py文件，说明perf编译成功。

6. 替换系统中原有perf，即可在Ubuntu中使用python scripting功能。

```
cp /home/linux_kernel/linux-4.15.0/tools/perf/perf /usr/bin
```
