Linux系统的优秀和优先级流程

时间:2011-04-19 15:09:19

标签: linux-kernel operating-system scheduling nice

我正在寻找一种通过命令行修改进程优先级的方法。 我发现了内置(bash)nice和命令renice,它们允许修改进程的优点,但不能修改内核计算的实际优先级。

是否有允许设置优先级的命令? (或者我在好感和优先级之间感到困惑?)

1 个答案:

答案 0 :(得分:45)

linux中进程的优先级是动态的:运行的时间越长,优先级越低。当实际使用CPU时,进程运行 - 典型Linux机器上的大多数进程只等待I / O,因此不算作正在运行

当运行的进程多于可用的CPU核心时,将考虑优先级:最高优先级获胜。但随着获胜过程随着时间的推移而失去其优势,其他过程将在某个时刻接管CPU。

nicerenice将添加/删除优先级中的一些“点”。具有较高nice值的进程将获得较少的CPU时间。 Root也可以设置负nice值 - 进程获得更多的CPU时间。

示例:有两个进程(1和2)计算暂停问题,系统中有一个CPU核心。默认值为nice 0,因此两个进程各占用大约一半的CPU时间。现在让renice进程1到值10.结果:进程2获得了比进程1更高的CPU时间量。

注意:在现代桌面中,有足够的CPU时间 - 这些天它们很快。不幸的是,HDD在随机I / O上仍然相对较慢,因此即使 nice 进程也可以生成足够的I / O流量,从而显着减慢系统速度。