- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Подскажите, пожалуйста, подняли сервер.
Все нормально работает.
Только 1 момент не получается настроить:
Perl запускается от имени пользователя
Пользователь создан реселлерской панелью DirectAdmin
В результате perl скрипт имеет возможность съесть всю оперативку (2Гб) и
весь CPU. Как это ограничить?
OS: CentOS 4.4 (на базе Red Hat)
Надо для пользователя, запускающего скрипт урезать лимиты в /etc/security/limits.conf
Наберите man limits.conf - там написано.
Надо для пользователя, запускающего скрипт урезать лимиты в /etc/security/limits.conf
Наберите man limits.conf - там написано.
пробовал уже:
pointmsc hard memlock 10000
pointmsc hard cpu 1
pointmsc - это тот самый пользователь.
не помогает. (кстати, чтобы эти изменения применились какую службу надо перезапустить? А то я так и не додумался - пришлось сервер рестартить. А сейчас рестартить его уже нельзя - теперь на нем сайты есть)
p.s. man говорит, что нет инфы (
пробовал уже:
pointmsc hard memlock 10000
pointmsc hard cpu 1
Там есть значительно больше возможностей. Например, можно сделать так:
@users hard data 10000
@users hard memlock 32000
@users hard as 10000
p.s. man говорит, что нет инфы (
Гугель поможет:
<domain> <type> <item> <value>
Первое поле (domain) может содержать:
1. Имя пользователя
2. Имя группы. Перед именем группы нужно указать символ «@»
3. Символ «*». Данное ограничение будет ограничением по умолчанию.
Второе поле – это тип ограничения: мягкое (soft) или жесткое (hard). Мягкое ограничение определяет число системных ресурсов, которое пользователь все еще может превысить, жесткое ограничение превысить невозможно. При попытке сделать это, пользователь получит сообщение об ошибке.
Элементом ограничения (item) может быть:
1. core – ограничение размера файла core (Кб)
2. data – максимальный размер данных (Кб)
3. fsize – максимальный размер файла (Кб)
4. memlock – максимальное заблокированное адресное пространство (Кб)
5. nofile – максимальное число открытых файлов
6. stack – максимальный размер стека (Кб)
7. cpu – максимальное время процессора (минуты)
8. nproc – максимальное число процессов
9. as – ограничение адресного пространства
10. maxlogins – максимальное число одновременных регистраций в системе
11. locks – максимальное число файлов блокировки
Рассмотрим несколько примеров. Например, нам нужно установить максимальное число процессов для пользователя user. Это можно сделать с помощью таких записей
user soft nproc 50
user hard nproc 60
Первая строка определяет мягкое ограничение (равное 50), а вторая – жесткое.
Допустим, у нас есть группы dialup1 и dialup2. В каждую группу входят 30 пользователей. У нас есть всего 30 входящих линий, поэтому нужно обеспечить одновременную работу не более 15 пользователей из каждой группы. Это делается так:
@dialup1 - maxlogins 14
@dialup2 - maxlogins 14
В первом и втором случае из каждой группы пользователей одновременно работать смогут не более 15 (maxlogins 14 – отсчет начинается с нуля). При регистрации шестнадцатый пользователь увидит сообщение:
Too many logins for 'dialup1'
Можно еще здесь почитать. Там полный список опций.
Там есть значительно больше возможностей. Например, можно сделать так:
@users hard data 10000
@users hard memlock 32000
@users hard as 10000
Про то что там больше возможностей - я знаю.
Но почему не работает:
pointmsc hard memlock 10000
pointmsc hard cpu 1
Сейчас попробую предложенный Вами вариант.
P.S. подскажите какой сервис надо перезагрузить, чтоб применились изменения
Там есть значительно больше возможностей. Например, можно сделать так:
@users hard data 10000
@users hard memlock 32000
@users hard as 10000
Про то что там больше возможностей - я знаю.
Но почему не работает:
pointmsc hard memlock 10000
pointmsc hard cpu 1
Сейчас попробую предложенный Вами вариант.
P.S. подскажите какой сервис надо перезагрузить, чтоб применились изменения
P.S. подскажите какой сервис надо перезагрузить, чтоб применились изменения
Признаюсь честно - в линухах я спец небольшой. Полагаю, что, если скрипт запускается демоном (апачем, кроном и т.п.), то ограничить надо именно юзера, под которым демон запущен, а самого демона рестартовать. Или запускать скрипт через su.
Если скрипт запускается вручную, то рестартовать никого не надо.
Это IMHO. Во фре пришлось бы перестроить базу классов входа.
Признаюсь честно - в линухах я спец небольшой. Полагаю, что, если скрипт запускается демоном (апачем, кроном и т.п.), то ограничить надо именно юзера, под которым демон запущен, а самого демона рестартовать. Или запускать скрипт через su.
Если скрипт запускается вручную, то рестартовать никого не надо.
Это IMHO. Во фре пришлось бы перестроить базу классов входа.
perl (который мне и нужно ограничить) запускается от имени пользователя которому пренадлежит файл. То что нужно ограничить этого пользователя - это и так понятно.
perl (который мне и нужно ограничить) запускается от имени пользователя которому пренадлежит файл. То что нужно ограничить этого пользователя - это и так понятно.
важно как он запускается, т.к. лимиты из /etc влияют только на процессы после логина... а все остальное, что какими-то иными путями сделалось с uid пользователя, обходит эти лимиты стороной... соответственно если запускалка скриптов вызывает setrlimit, то какие-то лимиты будут проставляться... а если нет, то будут наследоваться от родителя.
ЗЫ. Система в которой лимиты не на login or per process, а на uid range называется Virtuozzo 😂
Система в которой лимиты не на login or per process, а на uid range называется Virtuozzo
Кстати, давно ищу эту "виртуозу". Надо не для коммерции, а для собственных экспериментов. А платить $2500 только для этого как-то неохота. Может есть у кого?