1

%nice に関する iostat コマンドのマニュアルをググってみました。%nice の値の説明に、nice 優先度に関するフレーズがあります。意味が分からないのですが、どなたか説明して頂けないでしょうか?

man ページの完全なコメントは次のとおりです。

%良い

ユーザー レベルでナイス プライオリティで実行中に発生した CPU 使用率のパーセンテージを表示します。

4

1 に答える 1

3

niceこれは、コマンドで開始されたプロセス、またはnice/setpriorityを呼び出して優先度を標準より低くしたプロセスを意味します。(nice古いUNIXでもシステムコールの名前でしたが、setpriority現在は置き換えられています。コマンド名はまだ同じです)。

http://www.mjmwired.net/kernel/Documentation/filesystems/proc.txtなど、/proc/stat のマニュアル ページまたはドキュメントを参照してください。

または、自分で試してみてください (そうでなければアンロードされた自分のシステムで!)。2つのターミナルを開きます。最初に、次のように入力します

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

pidを覚えてから、2番目に

$ 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 に移動します。

于 2014-03-01T12:58:32.113 に答える