我正在寻找nice
的等效命令,但是要设置进程优先级并选择要使用的调度程序。
我需要能够键入(或包含在脚本中)类似run-with-scheduler batch a-big-long-command
或run-with-scheduler round-robin priority 10
的内容来设置进程优先级和调度程序。
我看到的每个地方都有标题为“如何在Linux中设置进程优先级”的文章,但他们都写了关于优秀的文章。你可能知道好的不是优先事项,直到最近还没有办法确定优先级。但是最近在Linux内核中添加了额外的调度程序。这些其他调度程序允许优先级,并且具有不同的行为。
E.g。批处理调度程序不会经常切换,并且优先级低于所有其他调度程序。这导致任务运行得更快(更少切换),但前提是没有更高优先级的任务在运行。
如何在命令行中指定命令的调度程序和优先级?
答案 0 :(得分:1)
使用schedtool
。
安装包schedtool :(在debian / ubuntu / mint等运行sudo apt-get install schedtool
)
然后您将获得一个命令schedtool
,阅读手册:man schedtool
,并阅读调度程序。除非你真的知道自己在做什么,否则不要使用实时调度程序。 (除非以提升的特权运行,否则无论如何都无法做到。)
以下是一些例子。
schedtool -B -e long-process
schedtool -R -p 1 read-time-process
#不要这样做schedtool -a 0 a-process-to-run-on-cpu-0-only
另见http://manpages.ubuntu.com/manpages/hardy/man8/schedtool.8.html