- さて本題に戻って pri コマンドですが、プロセスがいくつか起動しているときに引数なしの pri コマンドを実行すると、それぞれのプロセスの優先度が表示されます。デフォルトは4です。これよりも小さくすることも一応できるのですが、システム的には3以下を設定することはあまり想定してないので、基本的には最小値は4だと思っておくほうがいいでしょう。
>run 4 4
>ps
#0 console run:000001/001853 a
#1 counter2 run:002266/004520 a
#2 counter2 run:002254/004520 a
>pri
#0 console pri:04 a
#1 counter2 pri:04 a
#2 counter2 pri:04 a
- priコマンドに引数をつけると、指定したプロセスの優先度を動的に変更することができます。count2で、4と40とで競争させれば、だいたい10倍くらいの実行速度比になります。
>pri 2 40
>pri
#0 console pri:04 a
#1 counter2 pri:04 a
#2 counter2 pri:40 a
- つまり負荷100%の適当なプログラムと、priコマンドがあれば、デバッグ中のプログラムを減速させて観察することができるようになります。速すぎてよくわからないなんてことはよくあることです。それはぜいたくな悩みですが、でもわからないものはわからないので、単純に減速させればいいんです。
- 本当はダミーのプログラムなんか使わないで、CPUのクロックを下げられればいいのですが(そのほうが間違いなく低消費電力だろうし)、そんなに気軽には狙った速さに減速できないので、やむなくこうするわけです。
- psコマンドでも、実時間は同じ1分なのに、CPU時間は6秒くらいしかなくて、ああ、1/10に減速できているなーと簡単に確認できるようになっています。
>st 4 4 // 起動はするけどただちにstopするコマンド
>pri 2 40
>cont 1 2
>ps
#0 console run:000095/003975 a
#1 counter2 run:001152/012166 a
#2 counter2 run:010994/012166 a