Re: [問題] 如何讓一個process擁有絕對優先權?

作者: idisnothing   2019-01-04 21:32:19
最近又有時間搞這些有的沒有的了
而且還不小心成功了,所以就上來做個紀錄順便騙騙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擁有絕對優先權嗎?
: 需要重新編譯核心嗎?
作者: s9209122222 (海海海)   2019-01-10 10:15:00
是,我用 Intel core2 Q8200 會,i5 4460 不會,但是可以看到他的 Vsync Jitter 會瞬間變高就是字幕跳出來的那一瞬間容易卡頓,所以要用 MPV 當HTPC 的播放器,CPU不能太弱
作者: Bencrie   2019-01-09 19:37:00
vaapi + OpenGL + srt 字幕會頓?
作者: s9209122222 (海海海)   2019-01-09 17:34:00
不是,我的意思是如果cpu不夠力,就算開硬解,有字幕一樣卡頓但sup這種的不會
作者: Bencrie   2019-01-09 12:04:00
你可以 vaapi + OpenGL 輸出
作者: filiaslayers (司馬雲)   2019-01-04 22:35:00
看起來原po build code build到死都要看影片XDD
作者: bamchisu (suchi)   2019-01-04 23:29:00
怎麼樣都要看影片給推,沒看過Linux這樣用的死都要看影片你第1名
作者: kenduest (小州)   2019-01-04 23:41:00
佩服樓主的毅力,若是值得就好
作者: dou0228 (7777)   2019-01-04 23:52:00
原來看影片比 build code 重要
作者: idletime (idle)   2019-01-05 00:02:00
就是需要您這種毅力
作者: shiyeh (shiyeh)   2019-01-05 00:27:00
所以還是要看影片無誤 (蓋章)
作者: ddtsatan   2019-01-05 01:09:00
推影片 請問什麼影片這麼吸引人?
作者: hizuki (ayaka)   2019-01-05 03:54:00
你知道有vaapi和vdpau可以offload不
作者: OrzOGC (洞八達人.拖哨天王)   2019-01-05 08:47:00
我是用雙螢幕,一邊看你管影片一邊看拖網頁會lag目前好像還是無解網頁切換的那瞬間影片會lag一下
作者: s8321414 (冥王歐西里斯)   2019-01-05 20:49:00
爆香套件wwwww
作者: hizuki (ayaka)   2019-01-08 10:34:00
沒顯示卡那你怎麼看影片的,我寫VAAPI就是說至少有個Intel
作者: s9209122222 (海海海)   2019-01-09 06:41:00
如果有 srt 字幕就算 vaapi 也沒用
作者: Bencrie   2019-01-10 12:20:00
我想得到的理由只有 glTexImage2D 上傳OpenGL vo 畫字幕又不用過 yuv2rgb,也不用 CPU 畫東西最多就 freetype 畫字。字幕的 texture 播放前先上傳好就不會搞成這樣了
作者: s9209122222 (海海海)   2019-01-10 20:06:00
所以這算 mpv 的問題還是 OpenGL 本身的問題?
作者: Bencrie   2019-01-10 21:32:00
mpv 吧,以前 mplayer 不會這樣啊
作者: l12436 (TOM_Harrison)   2019-01-11 09:21:00
感覺原PO應該是使用CFQ當作預設的IO scheduler這個算是CFQ的缺點的樣子
作者: s9209122222 (海海海)   2019-01-15 19:08:00
能夠請問有辦法直接預設嗎?而非從終端機打指令雖然我改了還是 lag
作者: Bencrie   2019-01-15 23:07:00
要預設就重 build kernel 或下在 kernel cmdline不然就在 /etc/rc.local 之類的 script 去改 sysfs先調成 preemptible kernel + 1000hz tick 吧

Links booklink

Contact Us: admin [ a t ] ucptt.com