Tipe Tugas (TT) adalah penjadwal CPU alternatif untuk Linux.
Tujuan dari Penjadwal Tipe Tugas (TT) adalah untuk mendeteksi jenis tugas berdasarkan perilaku mereka dan mengontrol penjadwalan berdasarkan jenisnya. Ada 5 jenis:
Temukan deskripsi dan aturan deteksi dalam tasks.ods
Manfaat dari jenis tugas adalah untuk memungkinkan penjadwal memiliki lebih banyak kontrol dan memilih tugas terbaik untuk dijalankan berikutnya di CPU.
TT memberikan tugas RT -20 prio dalam perhitungan vruntime. Ini meningkatkan tugas RT atas tugas -tugas lain. Aturan preemption murni hrrn di mana tugas RT memiliki prioritas karena vruntimes mereka relatif lebih sedikit dari jenis lainnya. Alasan menggunakan HRRN alih -alih memetik level keras adalah untuk menghaluskan preemtion dan untuk mencegah kemungkinan kelaparan.
Anda perlu dikompilasi dengan CONFIG_SCHED_DEBUG=y . Saya telah menambahkan bidang dalam output informasi tugas task_type . Lihat dan gunakan ttdebug.sh .
Contoh Penggunaan:
ttdebug.sh | grep -i realtime
watch -t "(ttdebug.sh | grep -i interactive)"
watch -t "(ttdebug.sh | egrep -i 'webco|firefox')"
Catatan: Jenis tugas terdeteksi berdasarkan perilaku mereka, bukan dengan apa yang seharusnya. Jadi jika SystemD di beberapa titik bertindak seperti tugas realtime dan pergi untuk tidur lama maka jenisnya akan realtime sampai bangun dan memperbarui jenisnya. Anda mungkin melihat banyak tugas tidur dengan tipe yang salah karena pada titik tertentu pada waktu booting mereka bertindak seperti realtime, cpu_bound, atau jenis apa pun. Tugas -tugas itu sedang tidur untuk waktu yang lama, jadi ketika mereka membangunkan tipe mereka akan menjadi sine, mereka memiliki nilai hrrn yang sangat tinggi. Jadi, jangan khawatir tentang jenis proses sistem tidur.
s kernel.sched_tt_max_lifetime
Default adalah 22s. Ini adalah waktu seumur hidup maksimum tugas untuk menormalkan waktu hidup dan vruntime mereka. Mirip dengan cacule_max_lifetime Cacule.
kernel.sched_tt_rt_prio default adalah -20. Rentang [-20, 19]. Dalam hal tugas -tugas dengan jenis selain realtime kelaparan karena prioritas tugas nyata terlalu tinggi, Anda dapat melunakkan prioritas tugas realtime. -20 adalah yang tertinggi, 19 adalah prioritas paling sedikit.
kernel.sched_tt_interactive_prio default adalah -10. Rentang [-20, 19].
kernel.sched_tt_cpu_bound_prio default adalah -15. Rentang [-20, 19].
kernel.sched_tt_batch_prio default adalah 19. Range [-20, 19].
kernel.sched_tt_balancer_opt
Itu dapat diatur ke 4 nilai:
Anda dapat mengubah opsi penyeimbang saat menjalankan waktu.
kernel.sched_tt_lat_sens_enabled default adalah 1. Latency sensitif membuat CPU (tanpa tugas) pada frekuensi tinggi untuk beberapa waktu (~ 1ms) jika terjadi tugas yang masuk selama waktu ini akan berjalan lebih cepat. Ini mengurangi latensi tetapi meningkatkan konsumsi daya. Jika Power Save Balancer dipilih, maka opsi ini tidak berpengaruh (yaitu dinonaktifkan, = 0).
kernel.sched_tt_dedicated_cpu_bound_enabled default adalah 1. Opsi ini menempelkan tugas yang terikat CPU ke CPU saat ini untuk meningkatkan lokalitas cache. CPU hanya dapat memiliki satu tugas terikat CPU khusus.
Telegram: https://t.me/tt_sched
Terima kasih
Hamad