Utvecklarna av projektet systemd har börjat studera och åtgärda ett långvarigt arkitekturproblem i komponenten "systemd-journald", som leder till en kraftig ökning av mängden data som skrivs till disk (write amplification) jämfört med den faktiska mängden loggar.
Historien går tillbaka till mars 2020, när en felrapport registrerades i bugghanteringssystemet, där det visades att generering av cirka 500 KB textloggar resulterar i mer än 700 MB fysiska skrivoperationer på SSD. Utvecklarna av systemd vägrade då konsekvent att erkänna problemet, svarade med stil "ni förstår inte hur filsystem fungerar", avböjde att utföra profileringsarbete och stängde ärendet med domen "not actionable". Utvecklarnas kommentarer fick hundratals negativa omdömen från användare, men projektets hållning förblev orubblig.
I början av 2026 skickades en ny rapport om problemet, under diskussionen genomförde den oberoende utvecklaren ValdikSS en detaljerad profilering med användning av isolerade cgroup och loop-enheter, vilket tydligt visade mekanismen bakom problemet: på grund av användningen av minnesmappade filer (mmap) och binära hash-tabeller leder skrivning av även ett enda textmeddelande på 750 byte till modifiering av minnesavtrycken, vilket orsakar en skrivning till disken av hela 4-kilobytes sidor och genererar mellan 50 och 70 KB slutlig in- och ut-data på blockenheten.
Efter att problemet rapporterades på framsidan av Hacker News igår och publiceringen av oemotsägliga syntetiska tester, ändrade projektets underhållare sin retorik och påbörjade arbetet med att optimera cachens utlämningsmekanismer och strukturen för lagring av index för journald.
Källa: opennet.ru
