Вбивця SSD: помилка у Codex може вивести з ладу накопичувач менш ніж за рік
/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F137%2F7a7157942a62d9f46f1ebf76a9adf524.jpg)
Користувач GitHub повідомив, що інтерфейс командного рядка Codex від OpenAI непомітно руйнує SSD.
Повідомляється, що користувач з ніком 1996fanrui помітив аномально високу активність SSD на своєму ПК. Проаналізувавши, він з’ясував, що Codex постійно записував діагностичні дані до локальної бази даних SQLite, яка зберігається за адресою ~/.codex/logs_2.sqlite. За 21 день роботи SSD обробив 37 ТБ даних. Протягом року ця цифра може сягнути приблизно 640 ТБ.
При цьому типовий споживацький SSD на 1 ТБ розрахований приблизно на 600 ТБ запису. Таким чином подібна помилка може вичерпати весь ресурс накопичувача менш ніж за рік.
Проблема полягає у конфігурації логів, яку ніхто, судячи з усього, не збирався надавати кінцевим споживачам. Система зворотного зв’язку SQLite від Codex за замовчанням працює на глобальному рівні TRACE. Це режим з найвищим рівнем шуму. SQLite реєструє буквально все, від необроблених даних WebSocket до звичайних процесів файлової системи, включно з відкриттям файлів ‘passwd’ та ‘ld.so.cache’.
Вона також ігнорує стандартну змінну середовища RUST_LOG. Тому не має очевидного способу знизити її рівень. Близько 71% реєстрованих даних не мають реальної діагностичної користі для пересічного споживача. Ситуація погіршується збільшенням обсягу записуваних даних. База даних не просто зростає, а й обробляє десятки тисяч операцій з додавання та видалення щохвилини. Фізично на диск записується значно більше, ніж передбачається розміром файлу.
Ця проблема обговорюється на різних форумах у мережі щонайменше з квітня. Протягом року вже була подана велика кількість звернень. Серед нещодавнього списку змін OpenAI були внесені деякі виправлення, які підвищують надійність SQLite, однак проблема з записом залишається невирішеною.
Однак користувачі з Linux та macOS можуть створити символічне посилання ‘~/.codex/logs_2.sqlite’ на ‘/tmp/’ й переспрямувати запис в оперативну пам’ять. Файл не містить інформації про діалоги і його втрата під час перезавантаження не становитиме проблеми.
Джерело: Github; NotebookCheck