Я по глупости создал достаточно глубокое дерево (глубиной 4 папки) с листовыми папками, содержащими большое количество небольших файлов (более 1 миллиона файлов размером от 200 КБ до 1 МБ). Всего количество файлов составит более 80 ГБ. Он был создан в каталоге / tmp / окна Ubuntu Server 14.04, работающего внутри Hetzner (имеет значение, чтобы придумать способ подключения к нему, возможно).
Выполнение команды "find. | Wc -l" из памяти заняло более 12 часов.
Затем мне нужно было перезагрузить сервер. Обычно это не проблема, так как за последние несколько недель он без проблем перезагружался несколько раз. Никаких изменений конфигурации не было, и не было установлено дополнительное программное обеспечение.
Однако в этом случае он не вернется в онлайн. Я могу проверить связь с ящиком, но не могу подключиться по ssh или подключиться к любому порту, который, как я ожидал бы, снова в сети.
Я подозреваю, что проблема в том, что сценарий, который монтирует и очищает tmp при загрузке /etc/init/mounted-tmp.conf, изо всех сил пытается очистить файлы, из-за чего окно застревает на этапе загрузки инициализации.
Не думаю, что есть способ ускорить этот процесс? Я знаю, что если бы я мог как-нибудь отключить tmp clean, я мог бы использовать трюк rsync для очистки папок, но я даже не знаю, как это сделать.
Нашел решение.
Загрузил машину с помощью спасательной системы, предложенной hetzer http://wiki.hetzner.de/index.php/Hetzner_Rescue-System/en
Затем смонтировал файловую систему и воспользовался советами отсюда https://unix.stackexchange.com/questions/37329/efficiently-delete-large-directory-contain-thousands-of-files о том, как более эффективно удалять файлы.
Перезагрузился и теперь все в порядке.
Я вижу, вы ответили на свой вопрос, но вот мои 2 цента.
Что насчет загрузки в однопользовательском режиме? У вас есть доступ к grub? При загрузке отредактируйте параметры загрузки, включив опцию «single», затем загрузитесь прямо в командной строке root. Оттуда вы можете очистить свои файлы.