任务类型(TT)是Linux的替代CPU调度程序。
任务类型(TT)调度程序的目标是根据其行为检测任务类型,并根据其类型控制调度。有5种类型:
在tasks.ods中找到描述和检测规则。
任务类型的好处是允许调度程序拥有更多的控制权,并选择CPU中下一步运行的最佳任务。
TT在VRuntime计算中给出了RT任务一个-20 PRIO。这可以提高RT任务,而不是其他任务。抢占规则纯粹是HRRN,因为RT任务具有优先级,因为它们的VRNTEM相对较小。使用HRRN而不是硬级挑选的原因是要平滑群体并防止任何饥饿的机会。
您需要使用CONFIG_SCHED_DEBUG=y进行编译。我在任务信息task_type的输出中添加了一个字段。请参阅并使用ttdebug.sh 。
用法示例:
ttdebug.sh | grep -i realtime
watch -t "(ttdebug.sh | grep -i interactive)"
watch -t "(ttdebug.sh | egrep -i 'webco|firefox')"
注意:任务类型是根据其行为而不是根据其行为检测到的。因此,如果SystemD在某个时候像实时任务一样行动,并且长时间睡觉,那么该类型将是实时的,直到它醒来并更新其类型为止。您可能会看到许多具有不正确类型的睡眠任务,因为在启动时间的某个时候它们像实时,CPU_BOUND或其他类型一样。这些任务长期睡觉,因此,当它们醒来时,它们的类型是正弦的正弦,它们具有很高的HRRN价值。因此,不必担心睡眠系统过程的类型。
s kernel.sched_tt_max_lifetime
默认值为22。这是任务的最大寿命,以使他们的寿命和终身时间正常化。类似于Cacule的cacule_max_lifetime 。
kernel.sched_tt_rt_prio默认值为-20。范围[-20,19]。如果由于实时任务的优先级过高,具有实时类型的任务正在饿死,则可以软化实时任务的优先级。 -20是最高的,19是优先级。
kernel.sched_tt_interactive_prio默认值为-10。范围[-20,19]。
kernel.sched_tt_cpu_bound_prio默认值为-15。范围[-20,19]。
kernel.sched_tt_batch_prio默认值为19。范围[-20,19]。
kernel.sched_tt_balancer_opt
它可以设置为4个值:
您可以在运行时更改平衡器选项。
kernel.sched_tt_lat_sens_enabled默认值为1。延迟敏感性保持CPU(没有任务)在此期间有时(〜1ms)的高频(〜1ms)中,在此期间进行任务会更快地运行。它减少了潜伏期,但增加了功耗。如果选择了电源节省平衡器,则此选项没有效果(即禁用,= 0)。
kernel.sched_tt_dedicated_cpu_bound_enabled默认值为1。此选项将CPU绑定任务粘贴到其当前CPU上,以增强高速缓存位置。 CPU只能具有一个专用的CPU绑定任务。
电报:https://t.me/tt_sched
谢谢
哈马德