Waarom Planner gebruiken:
Aangezien standaard draaiende schijven informatie schrijven op basis van plaatsen op een draaiend plateau, is dit het geval. Bij het benaderen van gegevens van een draaiende schijf, moet de eigenlijke schijf de platters naar een specifieke positie draaien zodat de informatie kan worden gelezen. Dit wordt "zoeken" genoemd omdat het veel langer kan duren in termen van berekening. I/O-planners zijn bedoeld om u te helpen het meeste uit uw schijftoegangsrechten te halen. Vroeger deden we hetzelfde door I/O-transacties te combineren en ze naar aangrenzende schijflocaties te sturen. De drive hoeft niet eens zoveel te "zoeken" wanneer verzoeken zijn gegroepeerd in aangrenzende delen van de schijf, wat de gemiddelde responstijd voor operationele schijfactiviteiten verbetert. Er zijn veel I/O-planneroplossingen beschikbaar op de huidige Linux-architecturen. Elk van deze heeft zijn systeem voor het regelen van schijftoegangsverzoeken. Dit artikel leert hoe u de huidige planner in uw systeem kunt controleren en hoe u uw planner kunt wijzigen terwijl u op het Linux-besturingssysteem werkt.
Soorten planners:
Er lijken 3 soorten planners te zijn om uit te kiezen, elk met zijn eigen voordelen in het Linux-besturingssysteem. Dus, hier is de lijst en uitleg van elke planner:
- CFQ (cfq): de standaardplanner voor zoveel Linux-distributies; het cohort gelijktijdige verzoeken van bewerkingen in een reeks per-process pools voordat tijdslices worden toegewezen om de schijf voor elke wachtrij te gebruiken.
- De Noop-planner (noop): Het is de meest elementaire I/O-planner voor de Linux-kernel, gebaseerd op het FIFO-poolprincipe. Deze planner werkt goed voor SSD's.
- Deadline planner (deadline): Deze planner probeert een aanvraagbegin-serviceperiode te garanderen.
Controleer huidige planner:
Voordat u verder gaat, moet u op de hoogte zijn van de I/O-planner die is geconfigureerd in uw huidige Linux-systeem. Op het moment van implementatie gebruikten we de Ubuntu 20.04 Linux-systeem, dus onze planner zal zijn. Het is mogelijk dat uw Linux-systeem een andere I/O-planner in het systeem heeft geconfigureerd. Log dus in vanaf uw huidige Linux-systeem om het te controleren. Start nu de terminal-shell met de eenvoudige sneltoets "Ctrl+Alt+T"."Je kunt proberen de terminal-shell te openen met behulp van het activiteitenbalkgebied op je Linux-bureaublad. Nu is de opdrachtshell-terminal geopend, we kunnen eraan gaan werken. Allereerst moeten we inloggen als sudo-gebruiker vanaf de terminal om efficiënt en zonder onderbreking te werken. Typ dus de opdracht "su" in de terminal om in te loggen. Het zal je om het wachtwoord van je sudo-account vragen om in te loggen. Typ het sudo-accountwachtwoord en druk op de "enter" -toets van uw typemachine.
$ zo
Nu is het tijd om de I/O-planner van ons Linux-systeem te controleren en te identificeren. Zoals u weet, werken we momenteel aan Ubuntu 20.04 Linux-systeem om in overeenstemming te zijn, en we moeten het controleren door het plannerbestand via zijn pad te lezen. We moeten dus de onderstaande cat-instructie in de shell-terminal uitproberen, samen met de bestandslocatie via het pad en op de knop "Enter" drukken vanaf de typemachine van uw computer.
# cat /sys/block/sda/queue/schedulerDe onderstaande afbeelding toont de uitvoer als "[mq-deadline] geen", wat betekent dat ons apparaat een deadline-planner met meerdere wachtrijen bevat. Het is een apparaatspecifieke aanpassing van de deadline I/O-planner. Een solide allrounder met een laag CPU-gebruik.
Opmerking: U moet duidelijk maken dat de multi-wachtrij I/O-planners de enige I/O-planners zijn die worden aangeboden in de Ubuntu Eoan Ermine 19.10 evenals hals over kop.
De I/O-planner wijzigen:
Als een Linux-systeemgebruiker zijn/haar I/O-planner wil wijzigen in: "Kyber", ze moeten eerst het "kyber" -pakket in hun Linux-systeem installeren in de twee onderstaande stappen. Men moet het onderstaande sudo-commando uitvoeren met het trefwoord "modprobe" met de naam van een planner als "kyber-iosched.”
# sudo modprobe kyber-iosched
De tweede stap is om hetzelfde "cat" -commando uit te voeren dat in een van de bovenstaande commando's wordt genoemd om het te installeren.
# cat /sys/block/sda/queue/scheduler
Nu is de "kyber" succesvol geconfigureerd. Nu kunt u "kyber" inschakelen met behulp van de onderstaande "echo" planneropdracht samen met de "sudo" en "tee" trefwoorden waaraan het pad van een planner is gekoppeld. De uitvoerafbeelding presenteert de ingeschakelde planner "kyber.”
# echo “kyber” | sudo tee /sys/block/sda/queue/scheduler
De onderstaande output laat zien dat de "kyber" is ingesteld op standaard.
# cat /sys/block/sda/queue/scheduler
Om de planner te wijzigen in de "bfq" planner, installeer deze met behulp van de onderstaande opdracht:.
# sudo modprobe bfq
Voer nu hetzelfde "kat" -commando uit.
# cat /sys/block/sda/queue/scheduler
Nu de "bfq" is geïnstalleerd, schakel deze in met dezelfde "echo" -opdracht.
# echo “bfq” | sudo tee /sys/block/sda/queue/scheduler
Controleer de standaard "bfq" -planner via het "cat" -commando.
# cat /sys/block/sda/queue/scheduler
Conclusie:
Dit zelfstudieartikel heeft een eenvoudige manier behandeld om de I/O-planner te wijzigen met behulp van twee verschillende planners. We hebben besproken waarom het systeem de planner wil wijzigen, ik hoop dat het voor u werkt.