%nice に関する iostat コマンドのマニュアルをググってみました。%nice の値の説明に、nice 優先度に関するフレーズがあります。意味が分からないのですが、どなたか説明して頂けないでしょうか?
man ページの完全なコメントは次のとおりです。
%良い
ユーザー レベルでナイス プライオリティで実行中に発生した CPU 使用率のパーセンテージを表示します。
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 に移動します。