相关疑难解决方法(0)

在 ubuntu 内核中启用 cgroup cpu 实时运行时

我正在尝试在 Ubuntu 18.04 上运行的 docker 容器中使用实时调度。

我已经按照此处给出的方法安装了实时内核。我选择了内核版本 5.2.9 及其相关的 rt 补丁。

的输出uname -a确认实时内核已正确安装并运行:

Linux myLaptop 5.2.9-rt3 #1 SMP PREEMPT RT ...
Run Code Online (Sandbox Code Playgroud)

要运行我的容器,我发出以下命令:

docker run --cpu-rt-runtime=95000 \
    --ulimit rtprio=99 \
    --ulimit memlock=102400 \
    --cap-add=sys_nice \
    --privileged \
    -it \
    myimage:latest
Run Code Online (Sandbox Code Playgroud)

但是,我得到的输出是:

docker: Error response from daemon: Your kernel does not support cgroup cpu real-time runtime.
Run Code Online (Sandbox Code Playgroud)

我已经看到这可能与此处CONFIG_RT_GROUP_SCHED问题中详述的缺失有关。事实上,如果我运行此页面提供的脚本来检查内核与 Docker 的兼容性,我会得到:

- CONFIG_RT_GROUP_SCHED: missing
Run Code Online (Sandbox Code Playgroud)

这似乎证实了 Docker 正在使用它进行实时调度,但内核中并未提供,尽管已修补为实时。

从那里,我试图徒劳地寻找解决方案。我不太精通内核配置,不知道是否需要使用特定选项编译它,以及选择哪个选项来添加缺少的CONFIG_RT_GROUP_SCHED.

非常感谢您的建议和帮助。

real-time linux-kernel docker

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

为Ubuntu安装RT Linux补丁

试图通过修补/安装RT Linux来修改内核,从而使我的通用Ubuntu成为实时Ubuntu,但找不到直接的设置。有人可以帮忙吗?

ubuntu kernel patch real-time rtos

4
推荐指数
2
解决办法
8515
查看次数

标签 统计

real-time ×2

docker ×1

kernel ×1

linux-kernel ×1

patch ×1

rtos ×1

ubuntu ×1