1

Как я могу ограничить ограничение использования процессора для процесса копирования, когда он запущен? Мой друг и я планируем получить ПК для размещения серверов, и нам нужно знать, как ограничить это использование процессом копирования, потому что в прошлый раз, когда мы делали хост-машину, каждый раз, когда мы копировали новые файлы, серверы начинали отставать.

2 ответа2

3

Используйте nice для процессора

Приоритет планирования ЦП обрабатывается с помощью nice(1), который говорит:

Запустите команду COMMAND с настроенной точностью, что влияет на планирование процесса. Без КОМАНДЫ выведите текущую милость. Разновидности варьируются от -20 (наиболее благоприятный график) до 19 (наименее благоприятный).

Используйте ionice для дискового ввода-вывода

Использование ionice -c3 будет использовать приоритет простоя для дискового ввода-вывода. Страница справочника ionice(1) гласит:

Программа, работающая с приоритетом простоя io, получит время на диске только тогда, когда ни одна другая программа не запрашивала диск io в течение определенного льготного периода. Влияние незанятых процессов на нормальную активность системы должно быть нулевым.

Объедините два варианта

Для наименьшего влияния на вашу систему вы можете объединить их. Например:

# Run script with lowest possible CPU and disk priorities.
nice -n19 ionice -c3 foo.sh
0

Копирование очень мало влияет на процессор, ресурс, который он использует, - пропускная способность ввода-вывода.

Если вы не хотите, чтобы они слишком сильно влияли на другие приложения, вы должны добавить префикс io-интенсивный команды к ionice -c2 -n6 . Вы также можете ограничить содержимое с помощью cgroups и контроллера blkio, но это более сложный процесс.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .