Перейти к содержанию

Выделение ядра под процесс


Рекомендуемые сообщения

Доброго времени суток. Есть проблемка, надеюсь получить помощь в ее решении. ОС CentOS 5. На сервере установлен Apache который полностью грузит систему (точнее не сам Apache а Perl скрипты (а конкретно процесс index.pl), присутствующие в html которые им вызываются).

Пробовал программой cpulimit ограничить максимально допустимую процессом нагрузку. Но процессов index.pl много (на мой взгляд это вызвано много-пользовательским Web интерфейсом) потому ограничивать каждый index.pl в отдельности нет смысла, т.к. суммарная нагрузка остается большой. Кроме того, насколько я понимаю программа cpulimit ставит ограничение на pid процесса, который постоянно меняется.

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

Заранее спасибо.

Ссылка на комментарий
Поделиться на другие сайты

Как вариант, ограничить через ulimit.

Что касается пидов - вы можете их получить из вывода ps и передать вашей ограничалке.

А если процессов много - то вам, ИМХО, стоит их ограничить в количестве. Ибо не принять коннект от одного из 10 клиентов лучше, чем 8 из 10 отдать 504.

Ссылка на комментарий
Поделиться на другие сайты

Извиняюсь за упущение:

Пользователей у сервера до 20, Web интерфейс является дополнением к софту, утановленному на сервере. Корректная работа Web интерфейса менее важна чем корректная работа софта, потому все что связано с Web можно урезать по системным ресурсам. Сам софт занимает 5 - 15 % ресурсов процессора + процесс mysql иногда еще прыгает до 30%. Но этих ресурсов, нужных для нормального функционирования софта (5 - 15 - 45 % ) серверу не хватает из-за Web.

Цитата:

Что касается пидов - вы можете их получить из вывода ps и передать вашей ограничалке.

Хотелось бы не вручную ограничивать, т.к. процесс поживет, умрет, и создастся следующий с другим ПИД. Данные процессы не долгожительны, конечно можно поставить в крон запуск каждые 5 минут скрипта с ps и этой ограничалкой, но хотелось бы что бы при запуске процесса уже стояло ограничение.

Цитата:

Как вариант, ограничить через ulimit.

Насколько я понимаю программа служит для ограничения памяти (вероятно оперативной). В моем случае нужно ограничить ресурсы процессора. В Linux я новичок, с этой программой не работал, - если где не прав - поправьте меня пожалуйста.

Спасибо.

Ссылка на комментарий
Поделиться на другие сайты

Цитата:

Насколько я понимаю программа служит для ограничения памяти (вероятно оперативной).

не только, подробно:

man limits.conf

В вашем случае можно через лимиты урезать ресурсы юзера, от которого скрипты работают. Как я понимаю, у вас перл работает как cgi, а не модуль?

Ссылка на комментарий
Поделиться на другие сайты

Все процессы, в том числе и .pl связанные с программой запускаются из-под одного linux usera. Собственно в саму ОС пользователи Web (насколько я понимаю) не заведены, и все процессы для всех Web пользователей выполняются из-под usera запустившего ../apache/bin/httpd. Все другие процессы программы запущены из-под этого же пользователя. Пробовал рестартовать apache из-под другого пользователя - из 13 процессов httpd в top (я так понимаю количество зависит от активных сессий в Web) только 1 поменял пользователя. Соответственно налаживать ограничение на пользователя не даст положительного эффекта. Есть мысль перенести apache на другой сервер, но это очень проблематично ввиду того, что никто не знает каким методом Web связан с mysql, и другими частями программы.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...