提高进程(linux)chrt的所有线程的优先级/ sched策略?

问题描述 投票:4回答:2

我想在特定外部进程的所有线程上设置SCHED_RR(和优先级)。

从shell和另一个案例中做到这一点的最佳方式是什么 - 从另一个进程以编程方式创建它作为子进程时。谢谢!

我吮吸shell脚本,并且不知道如何为进程的所有线程运行“chart”,以防万一,线程有不同的名称。

linux multithreading process pthreads scheduling
2个回答
2
投票

您还可以使用-a参数。

chrt -p -r -a ${mainpid}

请注意,这不会更改在运行chrt之后将来启动的线程的优先级。


0
投票

试试这个,提升udevd的优先级:

显示进程所有线程的优先级

$ for p in $(pidof udevd);做chrt -p $ p; DONE

样本输出

pid 1249的当前调度策略:SCHED_OTHER

pid 1249的当前调度优先级:0

pid 1248的当前调度策略:SCHED_OTHER

pid 1248的当前调度优先级:0

pid 788的当前调度策略:SCHED_OTHER

pid 788的当前调度优先级:0

提升流程所有线程的优先级

$ for p in $(pidof udevd);做chrt -p 45 $ p; DONE

样本输出:

pid 1249的当前调度策略:SCHED_OTHER

pid 1249的当前调度优先级:0

pid 1249的新调度策略:SCHED_RR

pid 1249的新调度优先级:45

pid 1248的当前调度策略:SCHED_OTHER

pid 1248的当前调度优先级:0

pid 1248的新调度策略:SCHED_RR

pid 1248的新调度优先级:45

pid 788的当前调度策略:SCHED_OTHER

pid 788的当前调度优先级:0

pid 788的新调度策略:SCHED_RR

pid 788的新调度优先级:45

© www.soinside.com 2019 - 2024. All rights reserved.