Трубить приятно?

У меня есть следующая команда (упрощенно):

mysqldump <databases> | bzip2 > backupfile.sql.bz2

По какой-то причине процесс bzip2 сошел с ума и поднял нагрузку на процессор до 60. Я не знаю почему, но я надеюсь, что использование nice может смягчить его в будущем, но я хочу использовать только nice для bzip2, а не mysqldump.

Могу ли я просто изменить его на

mysqldump <databases> | nice bzip2 > backupfile.sql.bz2

или я должен сделать

nice mysqldump <databases> | bzip2 > backupfile.sql.bz2

Спасибо

2 ответа

Решение

TL; DR: правильная команда

mysqldump <databases> | nice bzip2 > backupfile.sql.bz2

nice Команда только изменяет правильность команды, которую она получает как прямой аргумент. Это не относится ко всему конвейеру или цепочке команд, если вы просто пишете это в начале строки.

Следовательно:

  • mysqldump <databases> | nice bzip2 > backupfile.sql.bz2
    

    будет делать то, что вы хотите и запустить mysqldump обычно, тогда как bzip2 работает с повышенным свойством добротности +10.

  • nice mysqldump <databases> | bzip2 > backupfile.sql.bz2
    

    будет делать то, что вы хотите, это сделает mysqldump хорошо, но пусть bzip2 беги нормально.

  • Третий вариант, который позволяет вам правильно запускать все команды конвейера, состоит в том, чтобы выполнить их в новом процессе оболочки с повышенной точностью, например

    nice bash -c 'mysqldump <databases> | bzip2 > backupfile.sql.bz2'
    

Тем не менее, обратите внимание, что повышение привлекательности процесса не обязательно снижает его загрузку процессора. Пока у вас остаются ресурсы ЦП, хороший процесс будет продолжать использовать столько процессорного времени, сколько может и требует. Только если ваш ЦП перегружен (это означает, что ваши запущенные процессы запрашивают в общей сложности больше процессорного времени, чем вы можете предложить), хорошие процессы отойдут назад и позволят ЦП отдавать нормальным или не приятным процессам больший приоритет.

Если вы хотите, чтобы приятно только bzip выбрать первую версию.

Другие вопросы по тегам