gpt4 book ai didi

linux - 如何在实时 Linux 中选择线程/进程优先级?

转载 作者:太空狗 更新时间:2023-10-29 11:17:51 25 4
gpt4 key购买 nike

我正在开发将在带有 PREEMPT_RT 补丁的 Linux 上运行的实时软件。虽然这将使我通过使用 Linux 实时调度程序(SCHED_RRSCHED_FIFO)获得实时性能,但我不确定我应该为我的线程使用什么优先级值。在我的系统上,当我查看我看到的优先级时(仅显示带有 RTPRIO 的进程):

$ ps -e -o cmd,pri,rtprio
CMD PRI RTPRIO
[sirq-high/0] 89 49
[sirq-timer/0] 89 49
[sirq-net-tx/0] 89 49
[sirq-net-rx/0] 89 49
[sirq-block/0] 89 49
[sirq-block-iopo] 89 49
[sirq-tasklet/0] 89 49
[sirq-sched/0] 89 49
[sirq-hrtimer/0] 89 49
[sirq-rcu/0] 89 49
[posixcputmr/0] 139 99
[events/0] 41 1
[irq/17-systemac] 90 50
[irq/19-watchdog] 90 50
[irq/18-eth0] 90 50
[irq/16-serial] 90 50

我有两个问题:

  1. sirqirqposixcputmr 任务是什么?内核线程?
  2. 我应该让我的软件以什么优先级运行?我应该以比大多数系统线程更高的优先级(>50 甚至 99)还是更低的优先级 (<49) 运行?

最佳答案

What are all these sirq, irq, posixcputmr tasks? Kernel threads?

是的,括号里的都是内核线程。

At what priority should I make my software run?

正常 RT 为 2-69,高优先级应用程序线程为 90-98。后者会阻塞所有的 IRQ 处理程序,所以在高优先级时尽量少做。 Source

关于linux - 如何在实时 Linux 中选择线程/进程优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37624765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com