首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >像实时Linux容器这样的东西是否存在?

像实时Linux容器这样的东西是否存在?
EN

Unix & Linux用户
提问于 2015-12-18 14:16:22
回答 1查看 1.6K关注 0票数 2

是否有方法配置Linux容器(即。cgroups/命名空间--隔离的过程树)具有实时特性--理想的情况是适合于工业机器控制/机器人,等等?

也许它在任何方面都与容器无关,而且总是提供单个进程的实时功能?OTOH,这样的容器可能包含一个完全不同的Linux发行版,并且可以独占访问多核处理器的一个核心?

目前我还没有任何具体的用例,只是想知道Linux是否能很好地替代可编程序控制器

EN

回答 1

Unix & Linux用户

发布于 2015-12-18 15:37:16

可能,但可能不是,这取决于您的需求。

“实时”指的是低延迟的概念--也就是说,在理论上,它意味着“没有延迟”,但在实践中,没有延迟是不可能实现的;毕竟,在输入能够产生某种输出之前,总是有一些处理要做,所以总是会有一些延迟,即使它只是一个时钟周期。

然而,有延迟,也有延迟,它们是七种不同的东西;-)

可以通过更改进程的优先级或其调度队列和/或切换到低延迟C库来减少Linux系统上的延迟,这样做将满足某些形式的“实时”设置的要求。如果这是您需要做的全部工作,那么当然,使用容器将允许您将系统的低延迟部分与其他部分分离开来(前提是允许容器中的进程修改它们的调度优先级),并且您应该不会看到太大的差别。

然而,也许你需要做更多。有更多的方法来修改你的延迟。从“最少的工作”到“大部分的工作”,我知道:

  • 在您可以设置的大多数默认分发内核中有一些启动时选项,这会改变调度程序的工作方式,从而减少延迟(尽管平均性能可能会受到影响)。
  • 您也可以设置许多编译时选项(尽管现在许多选项已更改为启动时选项,但仍有一些选项仍在继续)。
  • 有一些(或者至少在我上次检查的时候)有许多低延迟的补丁可以满足更激烈的实时需求。

如果您需要其中之一,那么容器将不会帮助您,因为容器仍然使用与系统其他部分相同的内核。

话虽如此,虽然在某些情况下可以在容器中运行实时应用程序以及在同一系统上运行其他东西,但我建议不要这样做。在同一个系统上运行多个东西很可能是运行在系统上的应用程序的延迟;因此,即使允许容器执行它需要做的事情,系统也可能无法跟上。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/250221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档