任務類型(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
謝謝
哈馬德