[问题] 如何让一个process拥有绝对优先权?

楼主: idisnothing   2018-05-20 21:33:42
如题
已经用renice把该程式的CPU优先权调为最高(-20)
但当编译程式时 ($ nice -n 19 make -j 4),该程式还是会受到影响
有什么方法可以让一个process拥有绝对优先权吗?
需要重新编译核心吗?
作者: kenduest (小州)   2018-05-20 21:42:00
怎样观察受到影响?是 cpu ? disk io ? or
楼主: idisnothing   2018-05-20 21:51:00
process是vlc 软解时一编程式就drop frame
作者: kenduest (小州)   2018-05-20 22:09:00
diskio 的话,看一下 ionice, 若是 cpu 就 chrt 看看
楼主: idisnothing   2018-05-20 23:05:00
sudo chrt -r -p 99 $(pidof vlc)sudo chrt -r -p 99 $(pidof Xorg)把vlc和Xorg都改成real-time了 但影片播放还是受影响是我指令下错吗?
作者: filiaslayers (司马云)   2018-05-21 00:02:00
听起来像是想要一篇编code一边看影片XD?
作者: kenduest (小州)   2018-05-21 00:07:00
不确定,只是用 FIFO 算法看看...另外我不清楚是否也收到 pam 限制,你爬文查看看另外若系统 cpu 已经不大能够很有力处理多工作就不要在这时候中还要编译程式,还用 -j 4其它 cpusets 这类限制 resource 的好像是其他议题
作者: Bencrie   2018-05-21 09:12:00
先弄个 preemptible kernel 再说
作者: Gold740716 (项为之强)   2018-05-21 10:54:00
ulimit?
作者: kenduest (小州)   2018-05-21 17:41:00
原贴用哪种 linux 版本?
楼主: idisnothing   2018-05-21 19:51:00
Ubuntu 16.04 x86_64, kernel: 4.4.0-122-generic
作者: kenduest (小州)   2018-05-21 22:34:00
preemptible kernel first.
楼主: idisnothing   2018-05-21 23:14:00
看来还是要编核心 还是用硬解比较实在
作者: Alica (Torsades de Pointes)   2018-05-21 23:53:00
ubuntu不是本来就有编-lowlatency的kernel
作者: bitlife (BIT一生)   2018-05-22 09:50:00
编译资料档放SSD,影片放RAM disk或许有帮助?
作者: Bencrie   2018-05-23 00:02:00
DVB-T?那你是不是有开 yadif 2x,看要不要换成 bob不然就是换 mpv 播
作者: abcdefghi   2018-05-23 08:10:00
ionice, nocache: https://github.com/Feh/nocache再把电视相关的app/driver buffer 设大一点
作者: Bencrie   2018-05-23 12:36:00
yadif 2x 这种 deinterlace + frame doubler 很吃 CPU改用 vpdau/vaapi 用硬件 deinterlacer不然就是换一个更强的 CPU
作者: dou0228 (7777)   2018-05-23 15:03:00
换 CPU 不然就是用电视盒 不要把电视进到电脑去
作者: Bencrie   2018-05-23 21:59:00
那就不要 -j4,-j3 留一个核心搭 taskset 啊我的印象是 Phenom II x4 945 yadif2x 1080i 就很喘了你还要玩 make -j4 高 I/O,还不知道你有没有弄 -pipe
作者: dou0228 (7777)   2018-05-23 23:53:00
如果靠改 Kernel 就能解 那你用 10 年前电脑也跑的动?
作者: Ryu3y3s (3y3s)   2018-05-24 00:41:00
有试过关hyper threading吗
作者: s9209122222 (海海海)   2018-05-25 00:57:00
请问很烂的cpu配很小的ram是不是用vaapi硬解也是会掉帧呢我Intel Core2 Q8200+2GB RAM配上RX460开vaapi用mpv player还是狂掉帧,cpu都20~50%在跑Linux上没办法做到像DXVA2那样的表现吗?而且vaapi配上好一点的chroma upscale算法就会出现画面破碎的问题,难道用LINUX做HTPC是摇不可及的梦吗?然后请问EDID会有影响吗?我电视的edid貌似坏了,所以我从另一台电脑复制edid档来用,要不然没画面
作者: kdjf (我抓得到什么呢?)   2018-05-25 07:36:00
http://man7.org/linux/man-pages/man7/sched.7.html可能可以参考一下这篇,有些nice没处理的事情(prio,group之类
作者: Bencrie   2018-05-25 09:58:00
@s92 问 AMD 或者换一张 NV 卡
作者: s9209122222 (海海海)   2018-05-25 19:55:00
我另一台i5-4600+8G DDR3的也是RX460,用vaapi-copy可以顺顺跑4K HDR 59.94fps没问题更正,i5-4460要是我旧电脑加大RAM用vaapi-copy不晓得会不会有帮助?mpv开发者很排斥vaapi-glx,但他的支援度硬是比现在的vaapi好,真无言
作者: Bencrie   2018-05-26 01:17:00
vaapi-glx 支援度好正常啊,主流的 compositor 都 OpenGLram 小你要考虑会不会动到 swap。硬盘转起来很可怕的 XD
作者: s9209122222 (海海海)   2018-05-26 07:04:00
我是用SSD,然后也把vm.swapiness降到20了好奇EGL对于开发者们是好在什么地方
作者: kdjf (我抓得到什么呢?)   2018-05-26 10:51:00
占据你要的资源的可能是其他user mode process,先试看看chrt吧,这是在别的process把自己的time slice用完前就可以插入真的不行才需要prempt system call不过我不知道要给哪些程序更高优先度就是这个程度不需要RT kernel
作者: Bencrie   2018-05-26 16:19:00
EGL 不用绑 X,不用跟 X 打交道
作者: s9209122222 (海海海)   2018-05-29 23:34:00
好消息,更新到linux4.17后vaapi-egl原本有的问题几乎都没了,除了HDR 60fps偶尔还是会一点点破图
作者: readonly (唯读)   2018-06-02 14:56:00
make -j1

Links booklink

Contact Us: admin [ a t ] ucptt.com