最近又有時間搞這些有的沒有的了
而且還不小心成功了,所以就上來做個紀錄順便騙騙P幣
OS: Ubuntu 18.04
Kernel: 4.15.0-43-generic
首先得先在/etc/security/limits.conf裡新增底下這一行
YourUserName - rtprio 99
修改完後重新登入
這樣YourUserName這個帳號才有權限用chrt提高mpv的優先權
而不用每次都要sudo
再來直接用chrt執行mpv
$ chrt -r 99 mpv VIDEO_FILE
這樣mpv就能獲得極高的優先權
即便一邊build code一邊瀏覽網頁也不會掉幀
有一點蠻奇怪的就是一定要直接用chrt執行mpv
如果先開mpv再用chrt去調整mpv的優先權,例如:
$ mpv VIDEO_FILE &
$ chrt -r -p 99 $(pidof mpv)
調整就會無效,掉幀掉個不停
之前就都是用這樣的方式調整優先權
怎麼調都沒有反應,覺得這部份似乎有bug
另外build code可以用SCHED_IDLE這個scheduling policy,例如:
$ chrt -i 0 make -jN (N=number of jobs)
這個是Linux裡優先權最低的policy (但好像也只等同nice -n 20)
用了之後感覺比較不會影響到影片的播放(?
大概就是這樣,供大家參考~~~
※ 引述《idisnothing ()》之銘言:
: 如題
: 已經用renice把該程式的CPU優先權調為最高(-20)
: 但當編譯程式時 ($ nice -n 19 make -j 4),該程式還是會受到影響
: 有什麼方法可以讓一個process擁有絕對優先權嗎?
: 需要重新編譯核心嗎?