Как выполнить нагрузку на ЦП / диск без существенного влияния на другие процессы?

Я использую сервер в Ubuntu 12.04. Я пытаюсь выполнить операцию git clone, как часть новой системы резервного копирования, которую я внедряю. Источник и назначение оба локальные, поэтому в клоне нет сетевой активности.

На этом сервере находится Minecraft, и я хотел бы иметь возможность делать такие вещи в фоновом режиме, пока сервер работает. Однако каждый раз, когда я пытаюсь это сделать, он блокирует сервер и пинает всех, несмотря на все мои усилия по ограничению влияния на использование ресурсов.

Вот команда, которая, я был уверен, сработает:

nice -n 19 ionice -c 3 git clone bukkit backup

Из того, что я прочитал, это должно дать процессу самый низкий приоритет ЦП и приоритет диска «только для бездействия». Тем не менее, он по-прежнему имеет тот же эффект блокировки и тайм-аута каждого подключенного к серверу Minecraft. Для ясности, репозиторий git не находится в папке активного сервера, поэтому нет никакого конфликта доступа к файлу.

Я могу дать подробности о технических характеристиках оборудования, если это необходимо. Спасибо.

5
задан 12 February 2016 в 02:15

2 ответа

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

Для выполнения команды единственное время в будущем Вы используете фактическое время отправления (в демоне):

$ at 0200 monday
     /home/your_home/name_of_the_script.sh
<Ctrl-D>

для получения дополнительной информации читает man at и man atd, убедиться выйти из входа с помощью Ctrl + D

  • Удостоверяется, что сценарий действителен + исполняемый файл!
2
ответ дан 12 February 2016 в 02:15

При работе экземпляра Amazon EC2, где можно только использовать 100% ЦП для коротких экземпляров времени (пакеты) с вынужденным средним использованием (например, 20% виртуального ЦП), необходимо также ограничить общее использование ЦП процесса с cpulimit. Иначе Вы израсходуете все кредиты ЦП, и Ваш экземпляр отрегулируют. Учебное руководство может быть найдено здесь.

Править: Кажется, что нет никакой включенной сети. Если бы было, то Вы могли бы также попробовать транспортный формирователь для каждого процесса:

Несколько хороших предложений могут быть найдены здесь, самые легкие методы, кажется:

  • Используя trickle. Здесь и вот две хороших статьи о том, как использовать его. Никакой корень не необходим.
  • Используя iptables с --pid-owner флаг
0
ответ дан 12 February 2016 в 02:15

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

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