Vývojáři projektu systemd začali studovat a opravovat dlouhodobý architektonický problém v komponentě „systemd-journald“, který způsobuje, že množství dat zapisovaných na disk (amplifikace zápisu) je výrazně vyšší než skutečný objem protokolů.
Příběh sahá až do března 2020, kdy byla v systému sledování chyb podána zpráva, která prokazovala, že generování přibližně 500 KB textových protokolů vedlo k více než 700 MB fyzických operací zápisu na SSD discích. Vývojáři systemd problém rázně popřeli a odpověděli „nechápete, jak souborové systémy fungují“, odmítli provést profilování a uzavřeli tiket s verdiktem „není možné provést akci“. Komentáře vývojářů si vysloužily stovky negativních hlasů od uživatelů, ale postoj projektu zůstal neochvějný.
Začátkem roku 2026 byla odeslána druhá zpráva o problému, během níž nezávislý vývojář ValdikSS provedl podrobnou profilaci s využitím izolovaných zařízení cgroup a loop, což jasně demonstrovalo mechanismus, kterým k problému dochází: kvůli použití souborů mapovaných do paměti (mmaps) a binárních hash tabulek vede i zápis jediné 750bajtové textové zprávy k modifikaci otisků paměti, což způsobí, že se na disk vyprázdní celé 4kilobajtové stránky a na úrovni blokových zařízení se vygeneruje 50 až 70 KB výsledného I/O.
Po včerejší zprávě na titulní straně Hacker News a zveřejnění nezvratných syntetických testů změnili správci projektu svou rétoriku a začali pracovat na optimalizaci mechanismů proplachování mezipaměti a struktury ukládání indexů v journald.
Zdroj: opennet.ru
