首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全系统调度修改

全系统调度修改
EN

Unix & Linux用户
提问于 2022-04-09 11:35:16
回答 1查看 173关注 0票数 2

有没有办法改变整个系统的进程调度策略?例如,我希望将所有进程的默认SCHED_OTHER更改为SCHED_RR。命令chrt对进程进行操作。我想改变整个系统的设置。有什么想法吗?

更新:

具体来说,我想启动一些命令,例如具有不同策略的tar,问题是在启动程序之前,我不知道进程ID。

EN

回答 1

Unix & Linux用户

发布于 2022-04-09 14:24:41

chrt不仅可以更改正在运行的进程的调度优先级(实际上需要pid),还可以按照特定的调度策略启动一个新进程:

chrt [options] priority command argument ... chrt [options] -p [priority] PID DESCRIPTION chrt sets or retrieves the real-time scheduling attributes of an existing PID, or runs command with the given attributes.

因此,如果您想从一开始就直接运行SCHED_RR rtprio 10,只需

代码语言:javascript
复制
chrt -r 10 tar blahblahraroptions

如果正如注释中所写的那样,让所有运行的进程在相同的优先级级别上运行相同的调度策略是没有意义的,那么就没有办法做到这一点。但是,可以将所有用户的进程自动启动到所需的调度策略/优先级,因为这是子进程继承的(默认情况下)。

1/叉一个bash进程计划的SCHED_FIFO /优先级10:

代码语言:javascript
复制
$ chrt -f 10 bash

[2]从现在起启动的任何程序都将按照相同的时间安排,而不需要使用chrt。

代码语言:javascript
复制
/proc/2074 $ ps -eHo pid,ppid,tid,class,rtprio,ni,pri,comm
...
4168  2074  4168 FF      10   -  50         bash
4192  4168  4192 FF      10   -  50           ps
...

Use非常谨慎,只用于测试目的,当然也避免发射分叉炸弹以及分配最高优先级!

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/698588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档