Ubuntu系统HPC应用分析任务数据采集失败
现象描述
Ubuntu系统HPC应用分析任务数据采集失败。
可能原因
由于Ubuntu 13.04及以后版本禁用了perf script中的python scripting功能,创建HPC应用分析任务进行数据采集时会失败。为了能在Ubuntu操作系统中支持这一功能,需要重新编译并替换系统中的perf。
处理步骤
- 使用SSH远程登录工具,以root用户进入Linux操作系统命令行界面。
- 执行命令uname -r,查看当前的内核版本kernel-version。
本例中查询结果如上图所示,则内核版本为4.15.0。
- 下载当前内核对应的perf版本。
1 2 3 4
mkdir /home/linux_kernel cd /home/linux_kernel apt-get update apt-get source linux-source-<kernel-version>
其中<kernel-version>为2中的结果。
下载源码如下图所示:
- 编译perf。
查看缺少的依赖包。
1 2
cd /home/linux_kernel/linux_4.15.0/tools/perf make
控制台提示找不到的依赖包,需要依据提示信息安装对应包。
python scripting功能需要的包有:python-dev、libelf-dev、libunwind-dev、libaudit-dev和libslang2-dev。
执行以下命令安装包:
1 2 3
apt-get install python-dev libelf-dev libunwind-dev libaudit-dev libslang2-dev make make install
可以发现libaudit, libelf, libpython, libslang, libunwind, lzma, bpf开关已打开。
- 检测perf编译是否成功。
1 2 3
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编译成功。
- 替换系统中原有perf,即可在Ubuntu中使用python scripting功能。
1
cp /home/linux_kernel/linux-4.15.0/tools/perf/perf /usr/bin
父主题: FAQ