Ценность процесса
Я просто искал разъяснения о полезности процесса или, возможно, какой-то совет, если я все сделаю неправильно.
Скажем, у меня есть пара десятков процессов веб-сервера на одной машине, и я беспокоюсь о том, чтобы какой-то из них действовал и занимал все ресурсы системы. Мне сразу приходит в голову любезность - я бы дал им все положительные значения, чтобы они использовали любые ресурсы, если они были доступны, но отказались бы от них, если на них есть спрос. Будет ли это работать так, как я ожидаю? Или, если они все имеют одинаковые значения добротности, это будет по сути то же самое, что все они равны 0?
В основном мне интересно, как ядро решает, какие процессы должны получить приоритет, если все они имеют одинаковое значение приоритета и все нуждаются в ресурсах? Поскольку существует только 39 возможных уровней привлекательности (от -20 до +19 iirc), я не мог дать каждому серверу разные значения, если бы он работал таким образом.
Любое разъяснение по этому поводу будет принята с благодарностью.
Некоторые другие решения, с которыми я столкнулся, чтобы предотвратить засорение:
cpulimit
утилита (которая для меня segfaults)ulimit
- для каждого пользователя это звучит идеально для меня, поскольку у каждого сервера есть свой пользователь, хотя он предлагает только время процессора в качестве показателя использования ресурсов процессора. Мне любопытно, если это означает прошедшее время или процент от времени процессора в секунду или что-то еще.- группы управления процессами. Исходя из некоторого начального просмотра результатов поиска в Google, это выглядит как более сложное решение, но, возможно, к этому придется прийти.
1 ответ
Прежде всего, я хотел бы предположить, что в вашем дистрибутиве Linux, вероятно, все уже настроено из коробки лучше, чем вы собираетесь в итоге, если вы начнете взламывать такие вещи, как изменение общесистемных хороших значений.
Во-вторых, я не думаю, что хорошо будет делать то, что вы хотите. Это имеет некоторый эффект, но не такой глубокий, как вы могли бы подумать. ВИД планировщика и его внутренний набор правил имеет больший эффект. Кроме того, проблема, с которой вы, вероятно, столкнетесь, связана с использованием памяти, а не с временем процессора, так что приятное вряд ли можно решить.
ulimit
Система, вероятно, больше, чем вы имеете в виду.
Однако мой главный совет - вы решаете только реальные проблемы. Беспокойство о чем-то до того, как это произойдет, заставит вас залатать систему вместе с клейкой лентой и проволокой из-за проблемы чучела. Когда у вас возникнет реальная проблема, лучшее решение будет гораздо более очевидным. Конечно, создание исправлений и планирование худшего - это хорошо, но в этом случае ваш Linux-дистрибутив, вероятно, сделал большую часть этой работы за вас.