У меня следующая проблема: некоторые процессы, генерируемые динамически, имеют тенденцию к потреблению 100% ресурсов ЦП. Я хотел бы ограничить весь процесс, соответствующий какому-либо критерию (например, имя процесса), до определенного процента загрузки процессора.
Конкретная проблема, которую я пытаюсь решить, заключается в использовании процессов свёртывания @ домашнего работника. Лучшее решение, о котором я могу подумать, - это Perl-скрипт, который выполняется периодически и использует утилиту cpulimit для ограничения процессов (если вас интересует более подробная информация, посмотрите этот пост в блоге ). Это работает, но это взломать: /
Есть идеи? Я хотел бы оставить обработку процессов для ОС :)
Еще раз спасибо за предложения, но мы все еще не достигли цели:)
Решение "slowDown" - это, по сути, утилита "cpulimit". Мне все еще нужно позаботиться о том, какие процессы замедлить, убить процесс «slowDown» после завершения рабочего процесса и запустить новые для новых рабочих процессов. Это именно то, что я сделал со скриптом Perl и работой cron.
Основная проблема в том, что я заранее не знаю, какие процессы ограничивать. Они генерируются динамически.
Может быть, есть способ ограничить все процессы одного пользователя определенным количеством процессорного процента? Я уже настроил пользователя для выполнения заданий fold @ home, надеясь, что смогу ограничить его файлом /etc/security/limits.conf. Но самое близкое, что я мог получить - это общее время процессора на пользователя ...
Было бы здорово, если бы было что-то, что позволило бы вам сказать:
Msgstr "Сумма использования ЦП всех процессов этого пользователя не может превышать 50%". А потом пусть процессы борются за эти 50% процессоров в соответствии с их приоритетами ...
Ребята, спасибо за ваши предложения, но речь идет не о приоритетах - я хочу ограничить% процессорного времени, даже если есть достаточно процессорного времени. Процессы уже имеют низкий приоритет, поэтому они не вызывают проблем с производительностью.
Я бы просто хотел, чтобы процессор не работал на 100% в течение продолжительных периодов ...