什么是“优先级”对iostat命令的好处是什么意思

时间:2014-03-01 12:54:43

标签: linux nice iostat

我用iogleat命令的man手册搜索了关于%nice的信息。在%nice的值的explanation中,有一个关于优先级的短语。我无法理解它的含义,有人可以解释一下吗?

手册页中的完整注释如下。

  

%好的

     

显示在用户级别执行时具有良好优先级时发生的CPU利用率百分比。

1 个答案:

答案 0 :(得分:3)

它表示已使用nice命令启动的进程,或已调用nice / setpriority以将其优先级降低到标准优先级以下的进程。 (nice也是旧的unix中系统调用的名称,现在它被setpriority替换。命令名仍然相同。)

请参阅/ proc / stat的手册页或文档,例如http://www.mjmwired.net/kernel/Documentation/filesystems/proc.txt

或者,亲自尝试(在属于您的其他未加载的系统上!)。打开2个终端。在第1个,输入

$ perl -e 'print "$$\n"; for (;;){}'

并记住pid,然后在第二个

$ ps -l -p <pid>
$ iostat -c 1 5

然后,在第一个终端中停止该过程,并以较低优先级重新启动它:

$ nice -1 perl -e 'print "$$\n"; for (;;){}'

输出,在我的系统上: (第一次)

$ perl -e 'print "$$\n"; for (;;){}'
22482
$ ps -l -p 22482
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 R  1000 22482 22443 99  80   0 -  4279 -      pts/1    00:00:16 perl
$ iostat -c 1 5
...
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
         100.00    0.00    0.00    0.00    0.00    0.00

(很好)

$ nice -1 perl -e 'print "$$\n"; for (;;){}'
22666
$ ps -l -p 22666
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 R  1000 22666 22443 99  81   1 -  4279 -      pts/1    00:00:06 perl
$ iostat  -c 1 5
...
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00  100.00    0.00    0.00    0.00    0.00

nice -1命令使NI列增加1;同时,100%的CPU使用率(由perl命令引起)从%user移动到%nice。