2009-03-18 1 views
7

Мне нужно запустить сценарий Python с процессором и памятью (анализ и изменение длинного WAV-файла) в качестве фонового процесса на моем веб-сервере (VPS), между HTTP Запросы.Как управлять процессом интенсивного процессора на сервере

Сценарий занимает до 20 секунд для запуска, и меня беспокоит производительность на моем сервере. Есть ли хороший подход к снижению приоритета процесса, периодически уступайте управление ОС или иным образом защищайте производительность моего скромного сервера?

+1

Robw, вы могли бы выбрать правильный ответ? (тот, который работал для вас) –

ответ

7

Предполагая, что это сервер UNIX, вы можете использовать nice command, чтобы снизить его приоритет. Это должно делать свое дело.

+0

Python удобно предоставляет os.nice (...) – timday

+0

приятно! плохой каламбур, но такова жизнь. – Kurt

5

Вы можете использовать cpulimit на сервере на базе Linux. Это позволит вам ограничить использование ЦП (указать лимит в процентах) даже уже запущенных скриптов, а его использование довольно простое.

Он доступен в репозитории Debian, так что вы можете установить его легко, используя способность:

apt-get install cpulimit 

Типичные способы использования cpulimit включает в себя:

# To limit CPU usage to 75% of program called foo: 
cpulimit -e foo -l 75 

# To limit CPU usage to 50% of program with pid = 1582 
cpulimit -p 1582 -l 50 

 Смежные вопросы

  • Нет связанных вопросов^_^