Re: [閒聊] ArchLinux的roonserver + realtime配置

看板Headphone (耳機)作者 (HPHT Synthesized)時間2小時前 (2026/02/23 11:15), 編輯推噓2(200)
留言2則, 2人參與, 1小時前最新討論串2/2 (看更多)
要真正的發揮 realtime kernel 在音訊處理上的威力,除了更換核心之外, 下列事項尚需要進一步調整: 1. BIOS 2. 開機參數 3. 應用軟體隔離及排程 這麼做都是為了降低延遲、減少 OS jitter,讓外部干擾降到最低。 以 Intel CPU 來說,BIOS 主要是關閉 Turbo Boost、關閉 Speed Shift、關閉 Hyper Threading、關閉 P-state 和 C-state、關閉 PCIe 電源管理等等。 開機參數的話,就會比較麻煩一點,以我的 HQPlayer Embedded 主機(Intel Xeon W9-3575X)來說,經過一些考慮,我指定三顆核心當管家(house keeping), 一顆核心專門處理特定服務所佔網卡的 IRQ,其他 40 核心都給 HQPe 做 14 聲道 升頻 DSD256。 以下設定是針對 Ubuntu Server kernel 6.8 RT 修改 /etc/default/grub 首先先決定那幾個 CPU 要完全隔離,不受 kernel 調度: isolcpus=managed_irq,domain,3,16-43 把需要更平順處理的 CPU 的 "ticker"(節拍器)關閉: nohz=on nohz_full=3-43 同樣的,把需要更平順處理的 CPU 的 RCU call back 關閉(其實是卸載給管家): rcu_nocb_poll rcu_nocbs=3-43 把 IRQ 卸載給管家: irqaffinity=0-2 雖然 BIOS 已經關閉了 P-state / C-state,但開機的時候再宣告一次當保險: intel_pstate=disable processor.max_cstate=0 intel_idle.max_cstate=0 關閉鎖死偵測: nmi_watchdog=0 nosoftlockup 獨尊 TSC 為時鐘源: clocksource=tsc tsc=reliable hpet=disable 關閉硬體漏洞緩解: mitigations=off 故意錯開節拍器,避免全部 CPU 同一個時間 tick: skew_tick=1 不讓 CPU 進入節電模式: idle=poll 以上參數大概就能涵蓋 95% 的 realtime 需求。 開機參數設完之後,還要特別補幾個 sysctl 參數在 /etc/sysctl.conf kernel.sched_rt_runtime_us=-1 kernel.timer_migration=0 kernel.perf_cpu_time_max_percent=0 若背景有 irqbalance 這個軟體在運行,請把它完全關閉並移除。重要的 IRQ 用手動指定,例如我指定 Ravenna/AES67 在 enp1s0 網卡上運行,並且將 IRQ 指定給第三顆 CPU 處理,那麼就可以借用 Intel 的 shell script 來調整: set_irq_affinity -X one 3 enp1s0 其中 -X 是關閉 XPS,畢竟 AoIP 本質上是單一進出,單一 ring buffer 即可。 最後是 kernel thread 以及 user land 的 CPU 指派,我把 system slice 和 user slice 分別做了設定: init scope AllowedCPUs=0-2 system slice AllowedCPUs=0-2 user slice AllowedCPUs=0-2 把 HQPlayer 以外的執行緒都丟給管家 CPU 處理,然後 HQPlayer Embedded: hqplayerd slice AllowedCPUs=4-43 而 Ravenna/AES67 守護程式則跟所佔網卡 IRQ 放在 CPU 3: ravenna slice AllowedCPUs=3 最後設定 HQPlayer Embedded 的 reserved cores 到完全隔離的 CPU 16-43, 跑起來 CPU 分佈看起來就很舒服了: https://meee.com.tw/YwzDhws.jpg
觀察很多玩家使用了 realtime kernel 但卻沒有進一步去設定 BIOS、開機參數 及隔離加排程,誠屬可惜,在此野人獻曝一番,將所學及經驗分享。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.96.58 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Headphone/M.1771816534.A.E6A.html

02/23 11:34, 1小時前 , 1F
推推
02/23 11:34, 1F

02/23 11:39, 1小時前 , 2F
古早論壇my○v有一串討論linux訊源的 差不多也是在玩這些
02/23 11:39, 2F
文章代碼(AID): #1fcyPMvg (Headphone)
文章代碼(AID): #1fcyPMvg (Headphone)