在Linux中使用“Nice”和“Renice”命令

这都是关于优先事项。

Linux系统可以同时运行多个进程(作业)。 即使CPU具有多个处理器或内核,进程数量通常也远远超过可用内核的数量。 Linux内核的工作是将可用的CPU周期分配给活动进程。

很高兴获得优先事项

默认情况下,所有进程都被认为是同样紧急的,并被分配相同数量的CPU时间。 为了使用户能够更改进程的相对重要性,Linux会将优先级参数与用户可设置或更改的每个作业相关联。 Linux内核然后根据相对优先级值为每个进程预留CPU时间。

nice参数用于此目的。 它的范围从20到19,并且只能取整数值。 值为20表示最高优先级,而19表示最低优先级。 最高的优先级由最负数表示这一事实有点不直观; 然而,以较低的优先级运行被认为是“更好的”,因为它允许其他进程使用更大的CPU时间份额。

如何玩好

使用nice命令启动一个新的进程(job),并同时为它指定一个优先级(nice)值。 要更改已经运行的进程的优先级,请使用命令renice

例如,以下命令行启动“large-job”过程,将nice值设置为12:

不错的-12大工作

请注意,12前面的短划线并不代表减号。 它具有标记一个标志的通常功能,该标志作为nice命令的参数传递。

要将nice值设置为负12,请添加另一条短线:

不错--12个大工作

请记住,较低的好值对应于较高的优先级。 因此,-12具有高于12的优先级。默认的nice值为0.普通用户可以设置较低的优先级(正好的值)。要使用较高的优先级(负值很好的值),需要管理员权限。

您可以使用renice更改已经运行的作业的优先级:

renice 17 -p 1134

这会将进程ID为1134的作业的nice值更改为17.在这种情况下,指定nice值时不会使用短划线作为命令选项。 以下命令将进程1134的nice值更改为-3:

renice -3 -p 1134

打印出当前进程的列表 ,请使用ps命令。 添加“l”(如“list”)选项列出了列标题“NI”下的nice值。 例如:

ps -al