Hvordan og når du skal endre I/O -planlegger i Linux

Hvordan og når du skal endre I/O -planlegger i Linux
I/O -planleggeren er et fascinerende tema; På forhånd kommer vi inn på hvordan og når vi skal justere I/O -planleggeren; La oss ha en dypere forståelse av hva jeg/o planleggere gjør. En Linux I/O -planlegger styrer hvordan kjernen forplikter seg, leser og skriver til platen. Ledere har vært i stand til å justere planleggingssystemet siden ca.6 kjerner, slik at de kan skreddersy sine rammer til deres eksakte krav. Disktilgjengelighet har lenge vært antatt å være de relativt trege midlene for datatilgang. Til tross for den økende utbredelsen av blitz og solid tilstand-rom, er henting av data fra platen treg enn å samle informasjon fra RAM. Dette er spesielt gyldig hvis rammeverket er basert på spinningsplater.

Hvorfor bruke planlegger:

Siden standard spinningsplater skriver informasjon basert på steder på et roterende tallerken, er dette tilfelle. Mens du får tilgang til data fra en spinningsplate, må den faktiske stasjonen rotere tallerkenene til en spesifikk posisjon slik at informasjonen kan leses. Dette blir referert til som "søker" fordi det kan ta mye lengre tid når det gjelder beregning. I/O -planleggere tar sikte på å hjelpe deg med å få mest mulig ut av platetillatelsene dine. Vi pleide å gjøre det samme ved å kombinere I/O -transaksjoner og sende dem til nærliggende plateplasser. Stasjonen trenger ikke en gang å "søke" så mye når forespørsler er gruppert i tilstøtende deler av disken, noe som forbedrer den gjennomsnittlige responstiden for driftsaktiviteter. Det er mange I/O -planleggerløsninger tilgjengelig på nåværende Linux -arkitekturer. En av disse har sitt system for å arrangere forespørsler om tilgang til plate. Denne artikkelen vil lære å sjekke den nåværende planleggeren i systemet ditt og hvordan du endrer planleggeren mens du jobber med Linux -operativsystemet.

Typer planleggere:

Det ser ut til å være tre typer planleggere å velge mellom, hver med sitt eget sett med fordeler i Linux -operativsystemet. Så her er listen og forklaringen til hver planlegger:

  • CFQ (CFQ): Standardplanleggeren for så mange Linux -distros; Det kohorterer samtidig forespørsler fra operasjoner til en serie per-prosessbassenger før de tildeler tidslakker for å bruke platen til hver kø.
  • NOOP -planleggeren (NOOP): Det er den mest grunnleggende I/O -planleggeren for Linux -kjernen, bygd på FIFO Pool -prinsippet. Denne planleggeren fungerer bra for SSD -er.
  • Deadline Scheduler (frist): Denne planleggeren prøver å sikre en forespørsel fra en forespørsel om forespørsel.

Sjekk gjeldende planlegger:

Før du går fremover, må du vite om I/O -planleggeren som er konfigurert i det nåværende Linux -systemet. På implementeringstidspunktet har vi brukt Ubuntu 20.04 Linux -system, så planleggeren vår vil være. Det kan være mulig at Linux -systemet ditt kan ha en annen I/O -planlegger konfigurert i systemet. Så logg inn fra det nåværende Linux -systemet for å prøve å sjekke det. Start nå terminalskallet ved å bruke den enkle snarveisnøkkelen, “Ctrl+Alt+T.”Du kan prøve å åpne terminalskallet ved hjelp av aktivitetsbarområdet på Linux Desktop. Nå er kommando-skallterminalen åpnet, vi kan begynne å jobbe med den. For det første må vi logge inn som en sudo -bruker fra terminalen for å jobbe effektivt og uten avbrudd. Så skriv “SU” -kommandoen i terminalen for å logge inn. Det vil be deg om passordet ditt. Skriv inn passordet for sudo -kontoen og trykk på "Enter" -tasten fra skrivemaskinen.

$ su

Nå er det på tide å sjekke og identifisere I/O -planleggeren av Linux -systemet vårt. Som du vet, for øyeblikket har vi jobbet med Ubuntu 20.04 Linux -systemet for å være i henhold til det, og vi må sjekke det ved å lese planleggerfilen via banen. Så vi må prøve ut katteinstruksjonen nedenfor i skallterminalen sammen med filplassen via banen og trykke på “Enter -knappen fra datamaskinens skrivemaskin.

# CAT/SYS/BLOCK/SDA/Kø/planlegger

Bildet nedenfor viser utdataene som "[MQ-d-dadlinje] ingen", noe som betyr at enheten vår har en tidsplan for flerkred. Det er en multiqueue enhetsspesifikk tilpasning av fristen I/O-planlegger. En solid all-arounder med lav CPU-bruk.

Merk: Du må gjøre tankene dine klare at I/O-planleggere med flere Queue er de ensomme I/O-planleggerne som tilbys i Ubuntu Eoan Ermine 19.10 så vel som hodelang.

Endre I/O -planleggeren:

Hvis en Linux -systembruker ønsker å endre sin I/O -planlegger til "Kyber," De må først installere “Kyber” -pakken i Linux -systemet i de to nedenfor trinnene. Man må måtte utføre Sudo-kommandoen nedenfor med nøkkelordet "modprobe" med navnet på en planlegger som "Kyber-Iosched.”

# sudo modprobe kyber-iosched

Det andre trinnet er å kjøre den samme “Cat” -kommandoen som er nevnt i en av ovennevnte kommandoer for å installere den.

# CAT/SYS/BLOCK/SDA/Kø/planlegger

Nå er "Kyber" med hell konfigurert. Nå kan du aktivere “Kyber” ved å bruke kommandoen nedenfor “Echo”. Utgangsbildet presenterer den aktiverte planleggeren “Kyber.”

# Echo “Kyber” | sudo tee/sys/block/sda/kø/planlegger

Utgangen nedenfor viser at "Kyber" er satt til standard.

# CAT/SYS/BLOCK/SDA/Kø/planlegger

For å endre planleggeren til “BFQ” -planleggeren, installer den ved hjelp av kommandoen nedenfor.

# sudo modprobe bfq

Kjør nå den samme “Cat” -kommandoen.

# CAT/SYS/BLOCK/SDA/Kø/planlegger

Nå er “BFQ” installert, aktiverer den ved å bruke den samme “Echo” -kommandoen.

# Echo “BFQ” | sudo tee/sys/block/sda/kø/planlegger

Sjekk standard “BFQ” -planlegger via “Cat” -kommandoen.

# CAT/SYS/BLOCK/SDA/Kø/planlegger

Konklusjon:

Denne opplæringsartikkelen har dekket en enkel måte å endre I/O -planleggeren ved hjelp av to forskjellige planleggere. Vi har diskutert hvorfor systemet ønsker å endre planleggeren Håper det fungerer for deg.