Linux start op zware servers aanzienlijk sneller op dankzij slimmere geheugenaanpak

Ontwikkelaars van de Linux-kernel hebben een opvallende versnelling doorgevoerd in de manier waarop het besturingssysteem direct na het aanzetten met het werkgeheugen omgaat. Door een optimalisatie in het zogeheten memblock-subsysteem is een specifieke stap in het opstartproces, die op bepaalde systemen voorheen ruim vier minuten in beslag nam, teruggebracht tot minder dan een oogwenk.

Voordat Linux volledig is opgestart en het reguliere geheugenbeheer draait, gebruikt de kernel een eenvoudiger mechanisme om het fysieke werkgeheugen in kaart te brengen en toe te wijzen. Dat gebeurt via memblock. Op computers met uitzonderlijk veel geheugen of complexe geheugensystemen bleek deze vroege toewijzing op een inefficiënte manier te werk te gaan. Door de code achter deze controle aan te passen en overbodig zoekwerk te schrappen, daalde de benodigde tijd in tests van ongeveer 268 seconden naar zo’n 50 milliseconden.

Voor gebruikers van een gewone laptop of desktop verandert er in het dagelijks gebruik weinig, want op normale consumentenhardware duurt deze vroege opstartstap toch al nauwelijks een fractie van een seconde. De winst is daarentegen direct merkbaar in datacenters en op grote servers met terabytes aan RAM. Als dergelijke systemen na een update of storing opnieuw moeten opstarten, telt elke minuut om diensten weer online te krijgen. Het schrappen van enkele minuten aan opstarttijd maakt daardoor voor beheerders een merkbaar verschil.

De aanpassing is ingediend voor de Linux-kernel en zal via toekomstige updates zijn weg vinden naar de verschillende distributies. Het laat zien dat er zelfs in de diepste, al jaren bestaande fundamenten van het opensource-besturingssysteem nog altijd flinke efficiëntieslagen te behalen zijn.

Bron: https://www.phoronix.com/news/Linux-7.4-memblock