如何在Linux上使用实时优先级运行Python程序

3

我正在编写一个Python程序,它对延迟时间非常敏感(同时从两个摄像头获取立体图像)。

我正在研究实时操作系统,并希望使用SCHED_FIFO或FF优先级或类似的东西来运行我的Python程序。我正在使用带有RT_PREMPT内核的Rasbian(Debian)。

这是正确的方法吗?如何使用实时(SCHED_FIFO)优先级运行我的Python程序?

尝试:

sudo chrt --rr 50 python3 loopExample.py

1个回答

0
为了进行真正的实时操作,您可能需要考虑运行实时 Linux 内核。这可以在最大延迟方面产生显著差异,并为您提供更一致的响应时间,从树莓派上的基准测试中可以看出
您可以在此处获取 Raspberry PI 版本的 RealTime 内核。您需要编译和安装它,这应该有助于您完成
在 Linux 下更新进程优先级方面,这被称为“nice”值。可用的值范围为-20(最高优先级)到19(最低优先级)。您可以使用sudo nice -n -20 python app.py在调用时设置 Python 应用程序的 nice 值。

我已经在运行RT内核的Rasbian lite,并从这里https://github.com/guysoft/RealtimePi下载了RT_PREMPT。我想即使在RT内核中,您也需要使自己的进程成为实时的吧? - Lightsout
哦,抱歉我不知怎么错过了那部分。我认为这会是最大的区别,但改变“nice”值也有帮助,就像我说的那样。你可能需要进行一些调整和基准测试,以找到正确的平衡,但你应该没问题! - mr_nobody

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接