Распрацоўнікі праекту systemd прыступілі да вывучэння і ўхіленні даўняй архітэктурнай праблемы ў кампаненце "systemd-journald", якая прыводзіць да шматразовага завышэння аб'ёму якія запісваюцца на дыск дадзеных (write amplification) у параўнанні з фактычным аб'ёмам логаў.
Гісторыя цягнецца з сакавіка 2020 года, калі ў сістэме адсочвання памылак была зарэгістраваная справаздача, у якой было прадэманстравана, што генераванне каля 500 КБ тэкставых логаў выліваецца ў больш за 700 МБ фізічных аперацый запісу на SSD. Распрацоўнікі systemd тады наадрэз адмовіліся прызнаваць праблему, адказалі ў стылі "вы не разумееце, як працуюць файлавыя сістэмы", адмовіліся ад правядзення прафілявання і зачынілі заяўку з вердыктам "not actionable". Каментары распрацоўшчыкаў сабралі сотні адмоўных адзнак ад карыстальнікаў, аднак пазіцыя праекта засталася непахіснай.
У пачатку 2026 года была адпраўлена паўторная справаздача аб праблеме, у ходзе абмеркавання якой незалежны распрацоўшчык ValdikSS правёў падрабязнае прафіляванне з выкарыстаннем ізаляваных cgroup і loop-прылад, навочна даказаўшы механізм узнікнення праблемы: з-за выкарыстання паказаных у памяць файлаў (mmap) і двайковых памераў. мадыфікацыі адбіткаў у памяці, выклікаючы скід на дыск поўных 4-кілабайтных старонак і генерацыю ад 50 да 70 КБ выніковага ўводу/высновы на ўзроўні блокавай прылады.
Пасля ўчорашняга траплення справаздачы аб праблеме на галоўную старонку Hacker News і публікацыі неабвержных сінтэтычных тэстаў мэйнтэйнеры праекту змянілі рыторыку і пачалі працу над аптымізацыяй механізмаў скіду кэша і структуры захоўвання азначнікаў journald.
Крыніца: opennet.ru
