De ontwikkelaars van het systemd-project zijn begonnen met het onderzoeken en oplossen van een al lang bestaand architectuurprobleem in de component "systemd-journald". Dit probleem zorgt ervoor dat de hoeveelheid data die naar de schijf wordt geschreven (schrijfversterking) aanzienlijk hoger is dan het werkelijke volume van de logbestanden.
Het verhaal begint in maart 2020, toen er een melding werd ingediend in het bugvolgsysteem waaruit bleek dat het genereren van ongeveer 500 KB aan tekstlogboeken resulteerde in meer dan 700 MB aan fysieke schrijfbewerkingen op SSD's. De ontwikkelaars van systemd ontkenden het probleem pertinent en reageerden met "je begrijpt niet hoe bestandssystemen werken", weigerden profilering uit te voeren en sloten het ticket af met de conclusie "niet ontvankelijk". De reactie van de ontwikkelaars leverde honderden negatieve stemmen op van gebruikers, maar het project bleef bij zijn standpunt.
Begin 2026 werd een tweede probleemrapport ingediend, waarbij onafhankelijk ontwikkelaar ValdikSS gedetailleerde profilering uitvoerde met behulp van geïsoleerde cgroup- en loop-apparaten. Dit toonde duidelijk het mechanisme aan waarmee het probleem zich voordoet: door het gebruik van memory-mapped files (mmaps) en binaire hashtabellen leidt het schrijven van zelfs een enkel tekstbericht van 750 bytes tot een wijziging van de geheugenvingerafdrukken, waardoor volledige pagina's van 4 kilobyte naar de schijf worden weggeschreven en er 50 tot 70 KB aan resulterende I/O op blokapparaatniveau wordt gegenereerd.
Naar aanleiding van het artikel op de voorpagina van Hacker News van gisteren en de publicatie van onweerlegbare synthetische tests, hebben de beheerders van het project hun standpunt gewijzigd en zijn ze begonnen met het optimaliseren van de cache-flushmechanismen en de indexopslagstructuur van journald.
Bron: opennet.ru
