2008年7月23日 星期三

PRI parameter of ps and top

static priority: 100~139,用來計算dynamic priority與time quantum。可使用nice()/setpriority()改變,nice value -20~19對應到static priority 100~139
dynamic priority: 由sleep time與static priority計算出來,是scheduler實際使用的priority
realtime priority: for realtime process, another story...



發信人: kenduest.bbs@bbs.cs.nctu.edu.tw (小州), 看板: Linux
標 題: Re: [問題] top/ps 顯示 priority的問題
發信站: 交大資訊次世代BS2 (Sat Jul 26 16:53:29 2008)
轉信站: ptt!ctu-reader!ctu-peer!news.nctu!csnews.cs.nctu!news.cs.nctu!BS2

※ 引述《mkl0301.bbs@ptt.cc (mkl)》之銘言:
> 再解釋一下我的問題...
> top/ps顯示的nice(NI)值都很正常...
> renice的值 ps的PRI top的PR
> -20 39 0
> 0 19 20
> 19 0 39
> 可是priority的值就怪怪的...
> 尤其是ps..怎麼priority越高,PRI越大呢??
> (priority不是應該值越小priority越高嗎?)

ps -o 是使用 priority, 不是 pri 這個字而已, 輸出的意義用途
不大一樣

|cmd_ni ps_pririty ps_opri ps_pri ps_ni top_pr top_ni
|-20 0 60 39 -20 0 -20
| 0 20 80 19 0 20 0
| 19 39 99 0 19 39 19

root@test-laptop:~# renice -20 -p $pid
9238: old priority 19, new priority -20
root@test-laptop:~# ps -o "pid pri priority opri nice" $pid
PID PRI PRI PRI NI
9238 39 0 60 -20
root@test-laptop:~# renice 0 -p $pid
9238: old priority -20, new priority 0
root@test-laptop:~# ps -o "pid pri priority opri nice" $pid
PID PRI PRI PRI NI
9238 19 20 80 0
root@test-laptop:~# renice 19 -p $pid
9238: old priority 0, new priority 19
root@test-laptop:~# ps -o "pid pri priority opri nice" $pid
PID PRI PRI PRI NI
9238 0 39 99 19
root@test-laptop:~#




080724
static priority ranging from 100 to 139 (from ULK)

使用renice是會改到process的priority的,只是為什麼ps與top的結果都怪怪的...
真要說的話,至少top的結果是"正常"的,ps的根本反過來了....


剛剛在試renice,發現renice改的不只是nice值
連priority都會被改到? 而且ps與top的結果不一樣???

cmd_ni ps_pr ps_ni top_pr top_ni
-20 39 -20 0 -20
0 19 0 20 0
19 0 19 39 19
cmd_ni=ps_ni=top_ni
ps_pr=19-cmd_ni
top_pr=20+cmd_ni

root@test-laptop:/# pid=6415;
root@test-laptop:/#
root@test-laptop:/# renice -20 -p $pid;
6415: old priority 19, new priority -20
root@test-laptop:/# ps -o "pid pri ni" $pid;
PID PRI NI
6415 39 -20
root@test-laptop:/# top -n 1 -p $pid;

top - 01:51:40 up 2:21, 2 users, load average: 0.40, 0.27, 0.27
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
Cpu(s): 13.0%us, 2.3%sy, 0.5%ni, 83.4%id, 0.6%wa, 0.1%hi, 0.0%si, 0.0%st
Mem: 2066408k total, 1423656k used, 642752k free, 52852k buffers
Swap: 2000084k total, 0k used, 2000084k free, 821060k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6415 test 0 -20 337m 179m 27m S 4 8.9 24:07.43 firefox

root@test-laptop:/# renice 0 -p $pid;
6415: old priority -20, new priority 0
root@test-laptop:/# ps -o "pid pri ni" $pid;
PID PRI NI
6415 19 0
root@test-laptop:/# top -n 1 -p $pid;

top - 01:51:46 up 2:21, 2 users, load average: 0.36, 0.26, 0.27
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
Cpu(s): 13.0%us, 2.3%sy, 0.5%ni, 83.4%id, 0.6%wa, 0.1%hi, 0.0%si, 0.0%st
Mem: 2066408k total, 1423716k used, 642692k free, 52860k buffers
Swap: 2000084k total, 0k used, 2000084k free, 821060k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6415 test 20 0 337m 179m 27m S 10 8.9 24:07.82 firefox

root@test-laptop:/# renice 19 -p $pid;
6415: old priority 0, new priority 19
root@test-laptop:/# ps -o "pid pri ni" $pid;
PID PRI NI
6415 0 19
root@test-laptop:/# top -n 1 -p $pid;

top - 01:51:49 up 2:21, 2 users, load average: 0.33, 0.26, 0.27
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
Cpu(s): 13.0%us, 2.3%sy, 0.5%ni, 83.4%id, 0.6%wa, 0.1%hi, 0.0%si, 0.0%st
Mem: 2066408k total, 1423968k used, 642440k free, 52868k buffers
Swap: 2000084k total, 0k used, 2000084k free, 821052k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6415 test 39 19 337m 179m 27m S 4 8.9 24:08.05 firefox

root@test-laptop:/#

沒有留言: