Меню сайта
Категории каталога
RACCT на практике [2012]
В FreeBSD 9.0 появился новый механизм управления доступом к ресурсам системы — демон racctd. Для управления существует утилита rctl. По умолчанию механизм выключен, для активации необходимо добавить в конфигурационный файл ядра следующие стрроки:
options RACCT
options RCTL
После пересборки и загрузки с новым ядром запускается демон racctd. Управляющая им утилита rctl позволяет просмотреть список правил (все или с фильтрами)., очистить правила, добавить новое правило. Синтаксис правила имеет вид:
subject:subject-id:resource:action=amount/per
subject — субъект правила, может быть:
process, user, loginclass, jail. subject-id — идентификатор субъекта:
имя пользователя либо его ID в системе, имя класса, имя jail. resource — тип контролируемого ресурса, может быть:
cputime — время CPU в секундах (толку от этого ресурса мягко говоря не много, поскольку доступен только для чтения, например, в контексте «добавить в лог запись, если пользователь занял более 2 секунд процессорного времени), datasize — используемые данные, в байтах, причем какие именно данные известно одному разработчику, stacksize — размер стека в байтах, как правило равен 0 coredumpsize — размер файла дампа в байтах, если установка в 1 байт реально запрещает приложениям создавать дампы, то это замечательно, но стоило ли ради этого писать целый racctd, memoryuse — количество используемой памяти в байтах, это более-менее соответствует истине, memorylocked — количество блокируемой памяти в байтах, как правило для пользовательских процессов равно 0, maxproc- количество процессов — единственный полезный ресурс, ограничение реально работает openfiles — размер таблицы файловых дескрипторов, кстати тоже преимущественно 0, отдаленно напоминает ужасные квоты, но там оно хотя бы работало, vmemoryuse — количество виртуальной памяти в байтах, сомнительно, что имеет смысл ограничивать, pseudoterminals количество псевдотерминалов PTYs, что является терминалом в контексте автора непонятно, обычные логины в консолях псевдотерминалами с точки зрения racctd не являются, swapuse — размер файла подкачки в байтах, тоже сомнительный ресурс, даже несмотря на тот факт, что при исчерпании резервированного файла подкачки FreeBSD становиться неуправляемой, nthr — количество потоков, как правило совпадает в количеством процессов, msgqqueued — количество очередей SysV сообщений, msgqsize — размер сообщения SysV в очереди в байтах, nmsgq — количество сообщений SysV в очереди , nsem — количество SysV семафоров, nsemop — количество SysV семафоров semaphores, преобразуемых в один semop вызов nshm — количество SysV общих сегментов памяти shmsize — размер SysV общего сегмента памяти в байтах, wallclock в секундах. action — определячет действие при выполнения условия правила, может быть:
deny - запрет выделения ресурса, неприменимо для ресурсов cpu и wallclock, log — вывод сообщения в консоль (и в файл лога по умолчанию), devctl — отправка сообщения для devd, sig* или sigterm — послать сигнал превысившему ограничение процессу.
Указывать /per можно при описании класса пользователей, например:
loginclass:customrs:memoryuse:deny=200m/user
В случае ограничения конкретного пользователя:
user:joe: maxproc:deny=25
Если нужно только фиксировать превышение, необходимо действие log
user:joe: datasize:log=26m
Тогда при превышении лимита в файле лога появится сообщение вида
Jan 16 12:22:59 test kernel: rctl: rule "user:1001:datasize:log=27262976" matched by pid 1770 (ubench), uid 1001, jail 0
При одновременном наличии правил log и deny первым срабатывает запрет и запись в логе не появляется, хотя при просмотре правил логирование раньше
# rctl -h
user:joe:maxproc:log=25
user:joe:maxproc:deny=25
Полный отчет по ресурсам можно посмотреть так:
# rctl -hu user:joe
cputime=853
datasize=24M
stacksize=0
coredumpsize=0
memoryuse=54M
memorylocked=0
maxproc=14
openfiles=0
vmemoryuse=562M
pseudoterminals=0
swapuse=0
nthr=14
msgqqueued=0
msgqsize=0
nmsgq=0
nsem=0
nsemop=0
nshm=0
shmsize=0
wallclock=81k
Источник: http://myfreebsd.ru/overview/racct-na-praktike
Категория: Установка и настройка | Добавил: oleg (28.01.2012)
Просмотров: 1180 | Комментарии: 1 | Рейтинг: 0.0 /0 |
- Оценить -
Отлично
Хорошо
Неплохо
Плохо
Ужасно
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация |
Вход ]
Форма входа
Друзья сайта