Situatie
Arch Linux este cunoscut pentru flexibilitatea și controlul total pe care îl oferă utilizatorilor. Dacă ești în căutarea unui mod avansat de a îmbunătăți performanța sistemului tău, mai ales pe sisteme moderne cu procesoare multicore, noul framework de scheduling extensibil din Linux — sched_ext
— ar putea fi ceea ce cauți.
sched-ext
este un framework recent introdus în kernelul Linux care permite rularea de scheduleri personalizați în user space. Spre deosebire de clasicele CFS (Completely Fair Scheduler) sau BFS (Brain Fuck Scheduler), sched-ext
permite dezvoltatorilor și pasionaților să testeze și să folosească noi algoritmi de scheduling fără a recompila kernelul de fiecare dată.
Acest framework este perfect pentru tweaking avansat, oferind control granular asupra prioritizării sarcinilor, latenței și consumului de resurse.
Solutie
Instalează un kernel compatibil cu sched-ext
:
Poți folosi un kernel personalizat precum linux-next
sau un build cu CONFIG_SCHED_CLASS_EXT=y
activat. Alternativ, folosește un pachet din AUR sau compilează propriul kernel:
-
Activează
sched_ext
:
Adaugă la linia de boot a kernelului:Poți face asta editând
GRUB_CMDLINE_LINUX_DEFAULT
în/etc/default/grub
:Apoi rulează:
-
Repornește sistemul
Schedulerii populari incluși în proiectul oficial sched-ext
(https://github.com/sched-ext/sched-ext) includ:
-
scx_bmq
– O versiune bazată pe BMQ (BitMap Queue). -
scx_lavd
– Scheduler low-latency pentru desktop. -
scx_qmap
– Optimizat pentru workload-uri mixte. -
scx_rusty
– Experimental, scris în Rust.
Instalează schedulerii:
Pornește un scheduler (exemplu cu scx_bmq
):
Pentru procesoare Intel (Alder Lake, Raptor Lake, etc.):
Intel folosește arhitectura hibridă cu P-cores și E-cores, așa că recomandăm un scheduler care înțelege diferențele de performanță între acestea:
-
Recomandare:
scx_qmap
sauscx_lavd
-
Motiv: Acestea pot distribui workload-ul în mod eficient între tipurile diferite de core-uri.
lavd
are și o latență mai mică, ideală pentru desktopuri.
Pentru procesoare AMD (Ryzen 3000/5000/7000):
AMD nu are P/E cores, dar are CCX-uri (Complex Core Units) și SMT (Simultaneous Multithreading), deci ai nevoie de un scheduler care optimizează cache locality și reduce thread migration.
-
Recomandare:
scx_bmq
sauscx_qmap
-
Motiv:
bmq
oferă un echilibru excelent între performanță brută și responsiveness.qmap
e bun pentru workload-uri diverse (gaming + background apps).
Sfaturi generale de optimizare:
-
Folosește
cpufreq
cu profilperformance
pentru benchmarkuri -
Testează fiecare scheduler cu workload-ul tău specific: gaming, build-uri, editare video, etc.
-
Monitorizează cu
htop
,perf
sauschedviz
pentru a înțelege comportamentul.
Leave A Comment?