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