如題
已經用renice把該程式的CPU優先權調為最高(-20)
但當編譯程式時 ($ nice -n 19 make -j 4),該程式還是會受到影響
有什麼方法可以讓一個process擁有絕對優先權嗎?
需要重新編譯核心嗎?
怎樣觀察受到影響?是 cpu ? disk io ? or
process是vlc 軟解時一編程式就drop frame
diskio 的話,看一下 ionice, 若是 cpu 就 chrt 看看
sudo chrt -r -p 99 $(pidof vlc)sudo chrt -r -p 99 $(pidof Xorg)把vlc和Xorg都改成real-time了 但影片播放還是受影響是我指令下錯嗎?
不確定,只是用 FIFO 演算法看看...另外我不清楚是否也收到 pam 限制,你爬文查看看另外若系統 cpu 已經不大能夠很有力處理多工作就不要在這時候中還要編譯程式,還用 -j 4其它 cpusets 這類限制 resource 的好像是其他議題
先弄個 preemptible kernel 再說
Ubuntu 16.04 x86_64, kernel: 4.4.0-122-generic
preemptible kernel first.
作者:
Alica (Torsades de Pointes)
2018-05-21 23:53:00ubuntu不是本來就有編-lowlatency的kernel
作者:
bitlife (BIT一生)
2018-05-22 09:50:00編譯資料檔放SSD,影片放RAM disk或許有幫助?
DVB-T?那你是不是有開 yadif 2x,看要不要換成 bob不然就是換 mpv 播
yadif 2x 這種 deinterlace + frame doubler 很吃 CPU改用 vpdau/vaapi 用硬體 deinterlacer不然就是換一個更強的 CPU
作者: dou0228 (7777) 2018-05-23 15:03:00
換 CPU 不然就是用電視盒 不要把電視進到電腦去
那就不要 -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嗎
請問很爛的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我另一台i5-4600+8G DDR3的也是RX460,用vaapi-copy可以順順跑4K HDR 59.94fps沒問題更正,i5-4460要是我舊電腦加大RAM用vaapi-copy不曉得會不會有幫助?mpv開發者很排斥vaapi-glx,但他的支援度硬是比現在的vaapi好,真無言
vaapi-glx 支援度好正常啊,主流的 compositor 都 OpenGLram 小你要考慮會不會動到 swap。硬碟轉起來很可怕的 XD
我是用SSD,然後也把vm.swapiness降到20了好奇EGL對於開發者們是好在什麼地方
作者:
kdjf (我抓得到什麼呢?)
2018-05-26 10:51:00占據你要的資源的可能是其他user mode process,先試看看chrt吧,這是在別的process把自己的time slice用完前就可以插入真的不行才需要prempt system call不過我不知道要給哪些程序更高優先度就是這個程度不需要RT kernel
好消息,更新到linux4.17後vaapi-egl原本有的問題幾乎都沒了,除了HDR 60fps偶爾還是會一點點破圖