我正在为 Ubuntu 发行版编写一个程序,我希望在运行时有更大的时间片。我知道弄乱时间片可能会减慢我的计算机响应速度,但我希望我的计算机运行专门的服务/进程。理想情况下,当父进程被销毁时,调度程序将恢复正常。我将如何做到这一点?谢谢。
问问题
2031 次
2 回答
3
nice 不会对新版本的 Linux 中的时间片产生任何显着影响(在旧版本中,降低优先级实际上会减少时间片,这与批处理所需的正好相反)。
您可以使用“schedtool -B PID”(可能需要安装)将一个或多个 PID 的调度策略设置为 BATCH 模式,这会从默认值增加它们的时间片,但也会降低它们相对于其他 pid 的优先级。根据 man 条目,对于对缓存持久性敏感的 CPU 密集型作业,这可以将性能提高多达 300%。
但是我发现没有办法直接更改系统使用的默认时间片。
于 2012-09-23T18:06:03.457 回答
2
您想使用nice(1)和类似的工具来设置进程优先级 - 可能是实时调度,但我不知道它在 linux 中的实现情况如何。
正值(最高 20)意味着降低任务的优先级(从而减少时间片),而负值(低至 -19)使过程更重要。
根据用例,I/O 优先级也有ionice 。
于 2012-07-15T05:05:11.673 回答