【问题标题】:How to choose thread/process priority in real-time Linux?如何在实时 Linux 中选择线程/进程优先级?
【发布时间】:2016-10-04 03:11:49
【问题描述】:

我正在开发将在带有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)还是更低(

【问题讨论】:

    标签: linux process real-time thread-priority


    【解决方案1】:

    这些sirq、irq、posixcputmr 任务是什么?内核线程?

    是的,括号中的所有任务都是内核线程。

    我应该以什么优先级运行我的软件?

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

    【讨论】:

    • 完美。感谢您的参考!
    猜你喜欢
    • 2021-10-18
    • 2011-06-25
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    • 2023-04-08
    • 2012-05-12
    • 1970-01-01
    • 2010-09-22
    相关资源
    最近更新 更多