为特定进程设置默认 niceness

有时,为特定用户提供比其他用户更低的优先级以将系统资源分配在适当的位置(如核心服务和其他程序)是有帮助的。
我们可以在 /etc/security/limits.conf 文件中设置特定用户或者组的默认 nice 值。

对于用户,它使用以下语法:

# vi /etc/security/limits.conf
[username] [hard|soft] priority [nice value]

对于组,它使用以下语法:

# vi /etc/security/limits.conf
[@groupname] [hard|soft] priority [nice value]

例如,我们可以分别为用户和组设置以下条目。

# vi /etc/security/limits.conf
user01 hard priority -10
@group01 hard priority -10

这将为在用户“user01”或者组“group01”优先级设置为“-10”下运行的所有应用程序增加优先级

查看过程的 niceness值

我们可以使用命令 ps、top 等查看进程的 niceness。
要查看默认 niceness 值,请使用以下命令:

# nice
0

要检查当前正在运行的进程的niceness值:

# ps -elf

此时我们可能想知道如何为进程设置自己的优先级。
要在发出新命令时更改优先级,请执行以下操作

# nice -n [nice value] [command]

例如,以+10 的nice 值运行yum update 命令,这使其优先于其他进程。
这确保 yum update 不会使系统加载更多。

# nice -n 10 yum update
UNIX/Linux:如何更改进程的优先级

什么是进程优先级(niceness/ priority)

所有进程在生成时,都会根据称为“nice value”的数值分配优先级。
进程的优先级表示分配给该进程的处理器时间。
有 40 个 niceness 值,-20 是最高的,+19 是最低的。
大多数系统启动的进程使用默认的 niceness 0。
如果 niceness 值很高,比如 19,则任务将被设置为最低优先级,CPU 将在有机会时处理它。
默认的 nice 值为零。
子进程在计算其优先级时继承了其调用进程的优点。

on it road .com

设置当前运行进程的优先级

要更改现有进程的优先级,请使用 renice 命令:

# renice [nice value] -p [process id]

例如,将当前正在运行的进程(pid 为 390)的优先级更改为 15.

# renice 15 -p 390
390: old priority 0, new priority 15
日期:2020-09-17 00:14:02 来源:oir作者:oir