У systemd-journald через 6 років визнали проблему надлишкового навантаження на накопичувачі

Розробники проекту 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

Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster