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

看板Linux作者時間5年前 (2019/01/04 21:32), 5年前編輯推噓22(22015)
留言37則, 13人參與, 5年前最新討論串2/2 (看更多)
最近又有時間搞這些有的沒有的了 而且還不小心成功了,所以就上來做個紀錄順便騙騙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擁有絕對優先權嗎? : 需要重新編譯核心嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.185.54 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1546608741.A.99B.html

01/04 22:35, 5年前 , 1F
看起來原po build code build到死都要看影片XDD
01/04 22:35, 1F

01/04 23:29, 5年前 , 2F
怎麼樣都要看影片給推,沒看過Linux這樣用的
01/04 23:29, 2F

01/04 23:29, 5年前 , 3F
死都要看影片你第1名
01/04 23:29, 3F

01/04 23:41, 5年前 , 4F
佩服樓主的毅力,若是值得就好
01/04 23:41, 4F

01/04 23:52, 5年前 , 5F
原來看影片比 build code 重要
01/04 23:52, 5F

01/05 00:02, 5年前 , 6F
就是需要您這種毅力
01/05 00:02, 6F
怎麼洗個澡回來推文變這樣啊啊啊 其實也不是死都要一邊build code一邊看影片啦 build code只是用來讓測試環境更加嚴苛 如果一邊build code一邊看影片都不會掉幀 那我想應該也很少有其它工作能讓影片掉幀了 而且GPU硬解也能解決這個問題 這半年來就都是靠GPU硬解的 只是前幾天把顯卡都賣掉了 新卡又因故沒能順利入手 只好又回過頭來從process scheduling下手來處理這問題 不然這一兩天光是拖拉個網頁mpv就開始狂掉幀 都沒辦法好好看電視或遊戲實況了QQ

01/05 00:27, 5年前 , 7F
所以還是要看影片無誤 (蓋章)
01/05 00:27, 7F
好像真的是耶,習慣螢幕右下角開著電視或遊戲實況惹

01/05 01:09, 5年前 , 8F
推影片 請問什麼影片這麼吸引人?
01/05 01:09, 8F
想看私我,稅後10000P就好(貪

01/05 03:54, 5年前 , 9F
你知道有vaapi和vdpau可以offload不
01/05 03:54, 9F
雖然我不像和運什麼都知道,但這我還是懂的 只是這幾天沒顯卡用啊啊啊,只好暫時先這樣了

01/05 08:47, 5年前 , 10F
我是用雙螢幕,一邊看你管影片一邊看拖網頁會lag
01/05 08:47, 10F

01/05 08:48, 5年前 , 11F
目前好像還是無解
01/05 08:48, 11F

01/05 08:49, 5年前 , 12F
網頁切換的那瞬間影片會lag一下
01/05 08:49, 12F
AMD 16C32T 爆香套件買下去,保證順暢不卡卡

01/05 20:49, 5年前 , 13F
爆香套件wwwww
01/05 20:49, 13F

01/08 10:34, 5年前 , 14F
沒顯示卡那你怎麼看影片的,我寫VAAPI就是說至少有個Intel
01/08 10:34, 14F
880G的內顯HD4250沒辦法硬解1080p60,在Linux下也沒辦法hardware deinterlace 所以只好通通靠CPU硬幹囉 ※ 編輯: idisnothing (220.132.185.53), 01/08/2019 15:05:59

01/09 06:41, 5年前 , 15F
如果有 srt 字幕就算 vaapi 也沒用
01/09 06:41, 15F

01/09 12:04, 5年前 , 16F
你可以 vaapi + OpenGL 輸出
01/09 12:04, 16F

01/09 17:34, 5年前 , 17F
不是,我的意思是如果cpu不夠力,就算開硬解,有字幕
01/09 17:34, 17F

01/09 17:34, 5年前 , 18F
一樣卡頓
01/09 17:34, 18F

01/09 17:35, 5年前 , 19F
但sup這種的不會
01/09 17:35, 19F

01/09 19:37, 5年前 , 20F
vaapi + OpenGL + srt 字幕會頓?
01/09 19:37, 20F

01/10 10:15, 5年前 , 21F
是,我用 Intel core2 Q8200 會,i5 4460 不會,但是
01/10 10:15, 21F

01/10 10:15, 5年前 , 22F
可以看到他的 Vsync Jitter 會瞬間變高
01/10 10:15, 22F

01/10 10:17, 5年前 , 23F
就是字幕跳出來的那一瞬間容易卡頓,所以要用 MPV 當
01/10 10:17, 23F

01/10 10:18, 5年前 , 24F
HTPC 的播放器,CPU不能太弱
01/10 10:18, 24F

01/10 12:20, 5年前 , 25F
我想得到的理由只有 glTexImage2D 上傳
01/10 12:20, 25F

01/10 12:24, 5年前 , 26F
OpenGL vo 畫字幕又不用過 yuv2rgb,也不用 CPU 畫東西
01/10 12:24, 26F

01/10 12:25, 5年前 , 27F
最多就 freetype 畫字。
01/10 12:25, 27F

01/10 12:31, 5年前 , 28F
字幕的 texture 播放前先上傳好就不會搞成這樣了
01/10 12:31, 28F

01/10 20:06, 5年前 , 29F
所以這算 mpv 的問題還是 OpenGL 本身的問題?
01/10 20:06, 29F

01/10 21:32, 5年前 , 30F
mpv 吧,以前 mplayer 不會這樣啊
01/10 21:32, 30F

01/11 09:21, 5年前 , 31F
感覺原PO應該是使用CFQ當作預設的IO scheduler
01/11 09:21, 31F

01/11 09:21, 5年前 , 32F
這個算是CFQ的缺點的樣子
01/11 09:21, 32F

01/15 19:08, 5年前 , 33F
能夠請問有辦法直接預設嗎?而非從終端機打指令
01/15 19:08, 33F

01/15 19:10, 5年前 , 34F
雖然我改了還是 lag
01/15 19:10, 34F

01/15 23:07, 5年前 , 35F
要預設就重 build kernel 或下在 kernel cmdline
01/15 23:07, 35F

01/15 23:08, 5年前 , 36F
不然就在 /etc/rc.local 之類的 script 去改 sysfs
01/15 23:08, 36F

01/15 23:10, 5年前 , 37F
先調成 preemptible kernel + 1000hz tick 吧
01/15 23:10, 37F
文章代碼(AID): #1SBs1bcR (Linux)
文章代碼(AID): #1SBs1bcR (Linux)