Cum optimizezi Arch Linux cu sched-ext

Configurare noua (How To)

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:

bash
yay -S linux-next-git
  1. Activează sched_ext:
    Adaugă la linia de boot a kernelului:

    text
    sched_ext.enable=1

    Poți face asta editând GRUB_CMDLINE_LINUX_DEFAULT în /etc/default/grub:

    text
    GRUB_CMDLINE_LINUX_DEFAULT="quiet sched_ext.enable=1"

    Apoi rulează:

    bash
    sudo grub-mkconfig -o /boot/grub/grub.cfg
  2. 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:

bash
git clone https://github.com/sched-ext/sched-ext.git
cd sched-ext
make

Pornește un scheduler (exemplu cu scx_bmq):

bash
sudo ./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 sau scx_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 sau scx_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 profil performance pentru benchmarkuri

  • Testează fiecare scheduler cu workload-ul tău specific: gaming, build-uri, editare video, etc.

  • Monitorizează cu htop, perf sau schedviz pentru a înțelege comportamentul.

Tip solutie

Permanent

Voteaza

(1 din 6 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?