Убийца SSD: ошибка в Codex может вывести накопитель из строя менее чем за год
Пользователь 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

