Обложка канала

Linux / Линукс

Все о мире Свободного Программного обеспечения 🐧

Linux / Линукс

3 года назад
Открыть в
💡 Как удалить огромные (100-200 ГБ) файлы на Linux Это может быть не так просто, как кажется, с точки зрения времени, затрачиваемого на удаление файла (планирование ввода-вывода), а также объема оперативной памяти, потребляемой при выполнении операции. Основная цель – использовать технику, которая не будет замедлять работу системы при удалении огромного файла, приводя к разумному вводу-выводу. Достичь этого можно с помощью команды ionice. ionice устанавливает или получает класс и приоритет планирования ввода-вывода для другой программы. Если аргументов нет или задан только параметр -p, ionice запросит текущий класс планирования ввода-вывода и приоритет для данного процесса. Если задать имя команды, например, rm command, то будет выполнена эта команда с заданными аргументами. Чтобы указать идентификаторы запущенных процессов, для которых необходимо получить или установить параметры планирования, выполните следующее:
$ionice -p PID

Для указания имени или номера используемого класса планирования (0 – нет, 1 – в реальном времени, 2 – в ускоренном режиме, 3 – в простое) используется следующая команда:
$ionice -c 3 rm /var/logs/syslog
$ionice -c 3 rm -rf /var/log/apache

Это означает, что rm будет принадлежать к классу idle I/O и использовать ввод/вывод только тогда, когда это не нужно никакому другому процессу: Если в системе не будет много времени простоя, то можно использовать класс планирования best-effort и установить низкий приоритет, например, такой:
$ionice -c 2 -n 6 rm /var/logs/syslog
$ionice -c 2 -n 6 rm -rf /var/log/apache

Более подробную информацию можно найти на man-странице ionice:
$man ionice

Linux / Линукс 🥸