Удаление старых файлов происходит медленно и «убивает» производительность ввода-вывода

  1. Томас Дики уже упоминал о возможности переключения между виртуальными терминалами. В дополнение к этому вы можете использовать screen или tmux для управления несколькими сеансами в одном окне.

  2. Вы можете запускать процессы в фоновом режиме, добавив символ «&», например:
    wget example.com/example.html &
    Если программа уже запущена, вы можете переместить ее в фон с помощью CTRL + Z . Вы можете перечислить процессы, выполняющиеся в фоновом режиме, с помощью заданий и переместить их на передний план с помощью fg

  3. screen и tmux , которые отлично подходят для повышения производительности. . Вы также можете использовать программное обеспечение с TUI (текстовый пользовательский интерфейс), такое как Midnight Commander, для управления вашими файлами.

4
23.11.2016, 19:41
1 ответ

Когда вы запускаете команду find , как вы разместили, она выполнит rm для каждого найденного файла. Это не лучший способ сделать это с точки зрения производительности.

Чтобы улучшить эту задачу, вы можете использовать параметр -exec в find для обработки вывода для команды rm :

find -mtime +100 -exec rm {} +

Очень важно использовать ] + завершение вместо альтернативного \; . С + find будет делать команду rm только для максимального количества файлов, которые он может обработать при простом выполнении. С завершением \; , find выполнит команду rm для каждого файла, поэтому у вас будет такая же проблема.

Для повышения производительности вы можете присоединить его к команде ionice , как вы упомянули. Если вы не замечаете, что это улучшает производительность системы, скорее всего, он потребляет другие ресурсы больше, чем ввод-вывод, например ЦП. Для этого вы можете использовать команду renice , чтобы уменьшить приоритет использования ЦП процессом.

Я бы использовал следующее:

ionice -c 3 find -mtime +100 -exec rm {} +

Теперь в другой оболочке вам нужно найти PID команды find: ps -ef | grep find

И, наконец, запустите команду renice: renice +19 -p

2
27.01.2020, 20:59

Теги

Похожие вопросы