Страница 1 из 1
FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-15 13:18:28
M@}{
Добрый день!
Столкнулся с проблемой с классами описанные в login.conf
Создал класс для юзеров
Код: Выделить всё
30-user:\
:cputime=30s:\
:datasize=64M:\
:stacksize=16M:\
:memorylocked=16M:\
:memoryuse=64M:\
:vmemoryuse=64M:\
:sbsize=infinity:\
:filesize=unlimited:\
:coredumpsize=0M:\
:openfiles=32:\
:maxproc=24:\
:requirehome:\
:umask=022:\
:sessiontime=300s:\
:ignoretime@:\
:passwordtime@:\
:refreshtime@:\
:idletime=30m:\
:umask=222:\
:tc=default:
:tc=b15-user:
перечитал login.conf, все вроде ОК, отрапортовало что добавлено столько то.
Собрал Apache22 c MPM-ITK
Создал виртуальный хост.
Запустил скрипт, в итоге в топ появился процесс от юзера которого мне надо было чтобы он стартонул.
Тот в свою очередь скушал все ядро, несмотря на то что в классе у него было прописано cputime=30s
Подумал мало ли, может быть с MPM-ITK лимиты из классов не работаю.
Попробовал от юзера запустить tar -cvjf фаил, и снова, юзер скушал весь процессор, и продолжил грузить процессор
Решил проверить, на umask=222, создал фаил, но упоминания о такой маске нет вообще
Код: Выделить всё
-rw-r--r-- 1 test2 test2 40 Jul 15 09:43 test
Юзер состоит в данном классе 100%
Код: Выделить всё
test2:*:1003:1003:30-user:0:0:test2:/home/test2/data:/bin/sh
Я что-то упустил?
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-15 13:28:29
f_andrey
Да вы упустили что жесткие лимиты, без специальных патчей не поддерживаются, если тема интересна погуглите, на этот счет исписаны тысячи килабайт текстов

Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-15 13:35:11
Гость
Вы про "cputime-cur" and "cputime-max"?
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-15 13:39:01
Гость
f_andrey писал(а):Да вы упустили что жесткие лимиты, без специальных патчей не поддерживаются, если тема интересна погуглите, на этот счет исписаны тысячи килабайт текстов

Тогда на что вообще влияет cputime?
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-15 14:12:56
RoST
:tc=default:\
:tc=b15-user:
Может так нужно? забыли \, а может оно и не на что не влияет

Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-15 18:20:36
Гость
Мдя, игрался с классами, в итоге после ребута перестал пускать юзера по ssh. Зашел локально, на мониторе ругань:
login_getclass: unknown class 'default'
и не пускает в систему. Зашел в сингл моде. Поставил \ как мне сделали замечания постом выше, пересобрал базу cap_mkdb /etc/login.conf, в ответ получил что-то невразумительное, и не обратил внимания, перегрузил, но всеравно тоже самое.
Снова в сингл моде открыл login.conf, сменил cputime-max=30s, перегрузил, тоже самое.
Снова в синг, решил удалить login.conf.db, но случайно удалил сам конфиг.
Плюнул, удалил базу, перегрузился, все загрузилось нормально.
Скопировал /usr/share/examples/etc/login.conf пошел править, пересобрал cap_mkdb /etc/login.conf, вроде все ок, сказал что
, но заметил немного не так сделал, поправил, попытался пересобрать, получаю
Код: Выделить всё
cap_mkdb: potential reference loop detected
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-15 18:46:17
ProFTP
apache22 на эти лимиты забивает!!
fastcgi используешь?
так как suexec запускает скрипты (защищенно) от root все равно
lissyara, где-то пачти писал под apach20
у меня на FreeBSD 7.0 после cap_mkdb /etc/login.conf нихрена не работало вообще
вот на 7.1 работало, на 7.2 может глюк... релиз?
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-15 18:54:07
Гость
Так вообще не понятно почему она перестала собирается, после того как удалил базу, она больше не собирается.
Я видел этот патч, но так и не понял для чего он, для того чтобы все-таки работали лимиту вообще? Или для FastCGI
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-15 18:59:15
ProFTP
гость, сформулироуй вопрос
чтобы suexec работал от mod_php нужно пачт ядра
на linux есть пачт suphp для апаче20, для фри нету
в mod_php все работает от www, какие там лимиты?
есть в fastcgi, пачт написать надо маленький
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-15 19:03:42
Гость
Гость писал(а):Тогда на что вообще влияет cputime?
на TIME в top(1) и ps(1). Простой пример
Код: Выделить всё
$ limits -t 10s yes >/dev/null
load: 0.00 cmd: yes 33378 [running] 1.19r 1.17u 0.00s 11% 860k
load: 0.08 cmd: yes 33378 [running] 2.24r 2.22u 0.00s 19% 860k
load: 0.08 cmd: yes 33378 [running] 2.82r 2.80u 0.00s 23% 860k
load: 0.08 cmd: yes 33378 [running] 3.73r 3.70u 0.00s 29% 860k
load: 0.08 cmd: yes 33378 [runnable] 4.26r 4.23u 0.00s 34% 860k
load: 0.08 cmd: yes 33378 [running] 4.93r 4.90u 0.00s 37% 860k
load: 0.08 cmd: yes 33378 [running] 5.62r 5.60u 0.00s 44% 860k
load: 0.16 cmd: yes 33378 [running] 6.16r 6.13u 0.00s 45% 860k
load: 0.16 cmd: yes 33378 [runnable] 6.53r 6.50u 0.00s 49% 860k
load: 0.16 cmd: yes 33378 [runnable] 7.07r 7.04u 0.00s 49% 860k
load: 0.16 cmd: yes 33378 [runnable] 7.50r 7.48u 0.00s 53% 860k
load: 0.16 cmd: yes 33378 [running] 7.87r 7.84u 0.00s 52% 860k
load: 0.16 cmd: yes 33378 [running] 8.21r 8.18u 0.00s 55% 860k
load: 0.16 cmd: yes 33378 [runnable] 8.58r 8.55u 0.00s 59% 860k
load: 0.16 cmd: yes 33378 [runnable] 8.94r 8.91u 0.00s 57% 860k
load: 0.16 cmd: yes 33378 [runnable] 9.27r 9.24u 0.00s 60% 860k
load: 0.16 cmd: yes 33378 [runnable] 9.59r 9.55u 0.00s 63% 860k
load: 0.16 cmd: yes 33378 [runnable] 9.91r 9.87u 0.00s 61% 860k
load: 0.16 cmd: yes 33378 [runnable] 10.22r 10.18u 0.00s 64% 860k
load: 0.23 cmd: yes 33378 [running] 10.54r 10.50u 0.00s 67% 860k
load: 0.23 cmd: yes 33378 [runnable] 10.88r 10.83u 0.01s 64% 860k
zsh: killed limits -t 10s yes > /dev/null
К процентам загруженности процессора это не имеет никакого отношения.
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-15 20:43:22
Гость
ProFTP писал(а):гость, сформулироуй вопрос
чтобы suexec работал от mod_php нужно пачт ядра
на linux есть пачт suphp для апаче20, для фри нету
в mod_php все работает от www, какие там лимиты?
есть в fastcgi, пачт написать надо маленький
Ну на крайняк немного описать самого www можно, да и есть itk патч, правда не знаю теперь работает ли он с лимитами
А по поводу патчика, я не понял из той тебя для чего он, чтобы резать FastCGI?
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-15 20:46:47
M@}{
Гость писал(а):Гость писал(а):Тогда на что вообще влияет cputime?
на TIME в top(1) и ps(1). Простой пример
Код: Выделить всё
$ limits -t 10s yes >/dev/null
load: 0.00 cmd: yes 33378 [running] 1.19r 1.17u 0.00s 11% 860k
load: 0.08 cmd: yes 33378 [running] 2.24r 2.22u 0.00s 19% 860k
load: 0.08 cmd: yes 33378 [running] 2.82r 2.80u 0.00s 23% 860k
load: 0.08 cmd: yes 33378 [running] 3.73r 3.70u 0.00s 29% 860k
load: 0.08 cmd: yes 33378 [runnable] 4.26r 4.23u 0.00s 34% 860k
load: 0.08 cmd: yes 33378 [running] 4.93r 4.90u 0.00s 37% 860k
load: 0.08 cmd: yes 33378 [running] 5.62r 5.60u 0.00s 44% 860k
load: 0.16 cmd: yes 33378 [running] 6.16r 6.13u 0.00s 45% 860k
load: 0.16 cmd: yes 33378 [runnable] 6.53r 6.50u 0.00s 49% 860k
load: 0.16 cmd: yes 33378 [runnable] 7.07r 7.04u 0.00s 49% 860k
load: 0.16 cmd: yes 33378 [runnable] 7.50r 7.48u 0.00s 53% 860k
load: 0.16 cmd: yes 33378 [running] 7.87r 7.84u 0.00s 52% 860k
load: 0.16 cmd: yes 33378 [running] 8.21r 8.18u 0.00s 55% 860k
load: 0.16 cmd: yes 33378 [runnable] 8.58r 8.55u 0.00s 59% 860k
load: 0.16 cmd: yes 33378 [runnable] 8.94r 8.91u 0.00s 57% 860k
load: 0.16 cmd: yes 33378 [runnable] 9.27r 9.24u 0.00s 60% 860k
load: 0.16 cmd: yes 33378 [runnable] 9.59r 9.55u 0.00s 63% 860k
load: 0.16 cmd: yes 33378 [runnable] 9.91r 9.87u 0.00s 61% 860k
load: 0.16 cmd: yes 33378 [runnable] 10.22r 10.18u 0.00s 64% 860k
load: 0.23 cmd: yes 33378 [running] 10.54r 10.50u 0.00s 67% 860k
load: 0.23 cmd: yes 33378 [runnable] 10.88r 10.83u 0.01s 64% 860k
zsh: killed limits -t 10s yes > /dev/null
К процентам загруженности процессора это не имеет никакого отношения.
Я не говорил что он должен высчитывать проценты, но что-то он же должен был делать по истечение этого времени(хотя реализовать лимиты методом прореживания времени, не мешало бы)
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-15 21:46:23
ProFTP
Гость писал(а):
Ну на крайняк немного описать самого www можно, да и есть itk патч, правда не знаю теперь работает ли он с лимитами
А где написано что mpm-itk смотрит с /etc/login.conf? (в исходниках апача наверное надо посмотреть/подправить, но это долго)
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-15 22:23:38
Гость
M@}{ писал(а):но что-то он же должен был делать по истечение этого времени(хотя реализовать лимиты методом прореживания времени, не мешало бы)
по достижению жесткого лимита процесс получает SIGKILL, мягкого - SIGXCPU. По дефолту лимит жесткий. Если хочешь мягкий, то используй `cputime-cur' вместо `cputime' (синоним `cputime-max').
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-16 8:07:05
M@}{
Гость писал(а):M@}{ писал(а):но что-то он же должен был делать по истечение этого времени(хотя реализовать лимиты методом прореживания времени, не мешало бы)
по достижению жесткого лимита процесс получает SIGKILL, мягкого - SIGXCPU. По дефолту лимит жесткий. Если хочешь мягкий, то используй `cputime-cur' вместо `cputime' (синоним `cputime-max').
Так и стояла cputime=30s, только он вообще не не реагирует на то, что прописано в классах, даже на umask=222
При этом сейчас перестала собирается база вообще, после ее удаления она больше не формируется, ее просто нет.
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-20 15:01:15
M@}{
ProFTP писал(а):гость, сформулироуй вопрос
чтобы suexec работал от mod_php нужно пачт ядра
на linux есть пачт suphp для апаче20, для фри нету
в mod_php все работает от www, какие там лимиты?
есть в fastcgi, пачт написать надо маленький
Честно говоря так и не понял как его применять.
Понял только то. что он под 2.0. Достаточно будет кинуть его в files и там пропатчить стандартно, или что-то копировать нужно, какие-либо манипуляции с портом предпринимать?
И еще, кто может подсказать как восстановить базу login.conf.db
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-20 15:40:11
Alex Keda
http://forum.lissyara.su/viewtopic.php? ... 25#p177058
===========
========
а вообще - давайте попробую коё чего объяснить.
1. лимиты работают при заходе зверьком через ssh, например, при запуске кроном заданий - он него, при запуске пропатченным апачем.
2. лимиты
не работают если вы делаете из рута
.
почему - честно, не помню. года три-четыре назад разбирался и знал. щас уже не помню. помоему тупо не перечитывается login.conf
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-20 15:54:13
f_andrey
lissyara писал(а):2. лимиты
не работают если вы делаете из рута
.
почему - честно, не помню. года три-четыре назад разбирался и знал. щас уже не помню. помоему тупо не перечитывается login.conf
Наверное потому что надо делать

Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-20 15:58:14
ProFTP_
M@}{ писал(а):
Честно говоря так и не понял как его применять.
Понял только то. что он под 2.0. Достаточно будет кинуть его в files и там пропатчить стандартно, или что-то копировать нужно, какие-либо манипуляции с портом предпринимать?
И еще, кто может подсказать как восстановить базу login.conf.db
если нужно под арач222, там можно просто поставить в FastCGI или в MPM-ITK, дальше написать демона, который каждую секунду будет снимать нагрузку, какой пользователь сколько жрет русурсов, дальше по какой зависимости определять какой юзер превышает свои лимиты и рубать его или просто закрыть сайт...
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-20 16:11:23
Гость
Спасибо всем!!!
ProFTP_ писал(а):M@}{ писал(а):
Честно говоря так и не понял как его применять.
Понял только то. что он под 2.0. Достаточно будет кинуть его в files и там пропатчить стандартно, или что-то копировать нужно, какие-либо манипуляции с портом предпринимать?
И еще, кто может подсказать как восстановить базу login.conf.db
если нужно под арач222, там можно просто поставить в FastCGI или в MPM-ITK, дальше написать демона, который каждую секунду будет снимать нагрузку, какой пользователь сколько жрет русурсов, дальше по какой зависимости определять какой юзер превышает свои лимиты и рубать его или просто закрыть сайт...
Тоесть, не рубить юзерам ресурсы, а просто лочить? Ну тогда боюсь узер успеет завалить сервер, прежде чем его залочит.
Re: FreeBSD 7.2-RELEASE не реагирует на лимиты в классах
Добавлено: 2009-07-20 16:33:44
Гость
ну если процесс в данную секунды жрет много процессорного врмени, то прибить его, или удалить с конфига его виртуальхост или закруть доступ
