在存在大量交换 IO 密集型后台负载的情况下,如何实现软实时进程?

在存在大量交换 IO 密集型后台负载的情况下,如何实现软实时进程?
schedtool: PID 32301: PRIO   4, POLICY R: SCHED_RR      , NICE -20, AFFINITY 0xf
ionice: realtime: prio 4

但无论如何,音乐还是不太顺畅。

后台负载优先级较低(SCHED_IDLEPRIO、空闲ionice),但使用大量内存(超过物理可用内存)并进行大量IO和计算。

Latencytop 显示大约 1500ms:

Following symlink
Writing buffer to disk (sync) 
Page fault
Writing a page to disk

对于 bg 负载和不相关的进程都是如此。平均负载为 10 并且还在增加。

为什么它不能为 mplayer 分配例如 200MHZ 的一个核心和 32M 的内存,以及每秒不少于一次的 IO 机会,以使其正常运行,同时在后台继续进行计算?

或者:为什么它不能让后台任务和交换互相爱护,但保持系统的其余部分就像没有后台负载一样?

如何同时拥有 RT 进程和重 bg 负载(不使用虚拟机)?

相关内容