中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

UOS系统执行资源调度任务失败

现象描述

UOS系统执行资源调度任务失败;异常信息显示:任务采集失败,系统内核版本低于4.19,建议使用4.19及以上版本。

可能原因

BPF参数未配置,需重新编译内核。

确认Tracers配置

  1. 查看当前系统内核版本。
    uname –r
    图1 内核版本
  2. kernel.org下载对应版本源码。
    图2 源码下载
  3. 解压源码包并进去源码目录。
    tar -xvf linux-4.19.274.tar.xz
    cd linux-4.19.274.tar.xz
  4. 将当前内核编译配置文件拷贝至解压后的源码目录。

    将拷贝的配置文件重命名为.config的隐藏文件。

    cp /boot/config-4.19-90-2201.4.0.0135.up1.uel20.aarch64 ./.config
    图3 拷贝配置文件
  5. 配置内核。

    使用make menuconfig命令,开启文本界面的编译选项菜单窗口,可以对内核加载的模块编译选项进行调整,如修改编译后的内核名称、新添加之前系统缺少的模块等。

  6. 查看Tracers选项。

    进入文本界面编译选项菜单界面,并选择kernel hacking

    图4 编译选项菜单

    可见Tracers选择,即未编译到系统配置中,所以perf无法支持sched事件采集。

    图5 Tracers配置

配置Tracers并编译内核

  1. 配置Tracer内置选项。

    选中Tracer,按Enter键进入内层选中Scheduling Latency Tracer后保存退出到上级

    图6 选择Scheduling Latency Tracer选项

    选择save后弹窗会提示输入保存文件名,默认即可,选择<ok>

    图7 保存
  2. 选中Tracers并保存
    图8 保存Tracers选项

    配置修改完成后双击Esc

  3. 编译内核

    切换至源码目录,命令中128为CPU核数,请根据实际配置修改。

    make -j 128
    图9 编译
  4. 安装模块。

    编译完成后安装编译模块。

    make modules_install
    图10 安装编译模块
  5. 安装内核核心文件。
    make install
    图11 安装内核核心文件
  6. 重启系统。
    reboot
  7. 确认内核版本。
    uname –r

    查看内核版本,已经变为更新后的版本。

    图12 确认