首页 文章

在Linux上处理不可抢占(2.6.32)

提问于
浏览
0

我_1131359_已将调度程序策略更改为 SCHED_FIFO ,并将 rtprio 设置为99.一旦进程启动,在没有IO中断的情况下,我是否确保该进程仍然获得了具有更高优先级的内核的某些进程't be preempted by other process? The rtprio=99 is the highest priority or there' ?最后,我怎么知道一个进程在执行过程中是否被抢占了?

1 回答

  • 0

    它确实有其他进程可以抢占最高rt进程 . 例如, stop_machine() 为热删除CPUS创建的进程,修改内核代码文本 .

    您可以从/ proc / $ PID / sched获取信息,以确定进程是否已被抢占 . cat / proc / $ PID / sched

    nr_switches                        :                 4197
    nr_voluntary_switches              :                 4140
    nr_involuntary_switches            :                   57
    

    如果更改了 nr_switches ,则该进程已被抢占

相关问题