Сбежавшая программа создала большое количество (как минимум миллион?) файлов в /var/log. Даже после удаления всех (?) мошеннических файлов любой запрос к папке/дереву теперь занимает около 5 минут и может привести к замедлению работы всей системы.
Проблема заключалась в том, что файлы .gz, созданные logrotate, добавлялись в другие архивы .gz, а те архивировались и... упс. Таким образом, все недействительные файлы .gz были удалены из /var/log - проблема с исходным кодом была исправлена.
Как я могу точно узнать, что по-прежнему вызывает задержки?
- В дереве /var/log есть 75 каталогов с 1606 файлами, занимающими всего 1 ГБ.
лс /вар/журнал обработка занимает более 5 минут.
- Другие более крупные деревья папок требуют гораздо меньше времени для запросов.
лс, найти, grep, и т.д.
дерево на /var/log также занимает около 5 минут и в результате получается совершенно нормальное дерево папок/файлов.
дф -я показывает в общей сложности 10 миллионов инодов, менее миллиона используемых, более 9 миллионов неиспользуемых. Система была перезагружена несколько раз.
я был бы в порядке с рм -рф на всем дереве журнала с последующим перезапуском. С мв или же ср в другую папку, «некоторый сброс» и перемещая все обратно, я был бы обеспокоен тем, что просто копирую проблему из одного места в другое.
Мне интересно, можем ли мы сканировать / очищать поврежденные индексные дескрипторы или, может быть, это поможет уменьшить количество инодов до минимума, а затем снова запустить его после перезапуска.
Это простая установка с /var в единственном корневом разделе / для ОС/данных. Так что размонтировать/заменить не вариант.
Я могу легко провести диагностику и предоставить соответствующую информацию.
Это полностью пропатченный облачный сервер v20.04.3. Я могу открыть консоль, если нужно.
e4defrag не показал фрагментации. Может работать fsck (e2fsck или же выключение -rF), если это рекомендуется.Это примеры утилит, которые я ищу, чтобы помочь с диагностикой такого рода проблем.