我了解到 ni 代表用于用户空间进程的 cpu,其优度或优先级值已更改,但在我的系统中,即 CentOS Linux release 7.9.2009 (Core),我做了下面的测试,所有测试结果是,ni 是总是 0。有人能帮我理解 ni% 什么时候会改变吗?
ProNoChange是一个消耗一些cpu的简单过程。
场景1:
taskset -c 31 ./PriNoChange 50 &
taskset -c 31 nice -n -10 ./PriNoChange 50 &
taskset -c 31 chrt --rr 50 ./PriNoChange 50 &
结果:
场景2:通过setpriority更改代码中的niceness,然后运行该进程,ni仍然为0
int which = PRIO_PROCESS;
id_t pid = getpid();
int ret;
int priority = -10;
ret = setpriority(which, pid, priority);
答案1
ni
,nice
: 运行好的用户进程的时间
“Niced”应该解释为“比默认值更好”,即“比默认值更好0
”。您没有观察到好的流程,因为-10
在您的示例中是较少的不错,这不算不错。
例如,这也算不错:
nice -n 1 md5sum /dev/urandom