夜中のバッチを昼に動かしたら、ほかの処理が遅くなった
バッチだけ後回しにさせられへんの?
【疑問】重いバッチのせいで他が遅い。nice と renice、nice 値の範囲と既定値【LPICレベル1】
前提のおさらい。ps の NI 欄と top の NI 欄にはプロセスの nice 値が出る。top の PR は優先度
>>1
nice 値で CPU を譲らせる。範囲は -20(いちばん優先)〜19(いちばん後回し)で、普通に起動したら 0
>>3
値が大きいほど「ほかに優しい(nice)」=優先度が低い。逆に覚えがちやから注意
>>1
起動するときに決めるのが nicenice コマンド → 10 足して起動(既定の調整値は10)nice -n 5 コマンド → 5 足す
引数なしの nice は今の nice 値を表示
>>5
試したら nice nice は 10、nice -n 5 nice は 5 を出した(外の nice が変えた値を、中の nice が表示)
>>5nice -10 コマンド って書き方も見た
>>7
古い書き方で、-10 は「10 足す」。nice --10 が「-10 足す」になる。まぎらわしいから -n で書く
>>1
動いてるプロセスは?
>>9renice。renice -n 3 -p 4321 で PID 4321 の nice 値を3にした
表示は 4321 (process ID) old priority 0, new priority 3-u ユーザー でそのユーザーのプロセス全部
>>10
一般ユーザーで3から1に戻そうとしたら Permission denied やった。一般ユーザーは値を上げる(優先度を下げる)方向にしか変えられない。下げるのは root だけ
>>11
nice のほうも、一般ユーザーで nice -n -5 したら cannot set niceness: Permission denied と出て、nice 値0のままコマンドは動いた
>>2
top の PR と NI の関係は?
>>13
普通のプロセスなら PR は 20 に NI を足した値。nice 値 -2 のプロセスは top で PR 18、NI -2 と出てた
>>13
top の中で r を押して PID と値を入れても変えられる
>>3
既定は0、範囲は-20〜19、nice の既定の調整は10、一般ユーザーは上げるだけ。数字で覚えとく
管理人のひとこと
- nice 値は -20(最も優先)〜19(最も後回し)。普通に起動すると0。大きいほど優先度が低い。
nice コマンドは10足して起動、nice -n N コマンドは N 足す(古い書き方のnice -10は+10、nice --10は-10)。引数なしで今の値を表示。renice -n N -p PIDで実行中のプロセスを変更(-uでユーザー単位)。top の r でも変えられる。- 一般ユーザーは nice 値を上げる方向だけ。下げられるのは root。普通のプロセスでは top の PR は 20+NI。