[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Ограничить браузер хром через cgroups



Руслан, спасибо за разбор применительно к Дебиану.

А у меня вопрос: можно ли средствами cgroups ограничить по максимуму
такую какашку как Skype? Увы есть в ней необходимость. Но хочется в
идеале оставить ей только сеть, звук и доступ к одному каталогу, чтобы
сохранять туда прилетевшие файлы. Как-то поднимать ради этого целый
контейнер у которого свой rootfs со всеми теми же библиотеками и т.д.,
мне кажется очень расточительным.

30 апреля 2015 г., 10:15 пользователь Руслан Коротаев
<korotaev@ufamail.ru> написал:
> В сообщении от [Чт 2015-04-30 00:23 +0500]
> Азат Рафиков <zloklun@gmail.com> пишет:
>> Создать группу grp с контроллерами memory и blkio, принадлежащую
>> пользователю USER (именно имя, в номера оно не умеет), выставить
>> лимиты и запустить в ней chromium:
>>
>> # cgcreate -a USER:USER -t USER:USER -g memory,blkio:grp
>>
>> $ cgset -r memory.limit_in_bytes=512M -r memory.swappiness=0 -r
>> blkio.weight=1000 grp
>>
>> $ cgexec -g memory,blkio:grp /usr/bin/chromium
>>
>> Последний шаг автоматизируется: см. пункт 2.8.1 «Служба cgred» всё
>> того же федоровского руководства. Правда, запуск cgconfigparser
>> пришлось вырезать из /etc/init.d/cgred самостоятельно, потому что у
>> меня он так и не работает (как-то не так пытается создавать группы).
>> Пользуемся /etc/rc.local. А жаль, потому что он помог бы
>> автоматизировать и первые два шага.
>
> Респект. Всё работает, только на первом шаге были грабли, оказывается в
> Debian по умолчанию не смонтирована подсистема memory (все остальные
> есть, кроме неё) и контроль свопа. Нужно указать параметры для ядра в
> GRUB. В файле '/etc/default/grub' строчка 'GRUB_CMDLINE_LINUX_DEFAULT'
> должна выглядеть так:
>
> GRUB_CMDLINE_LINUX_DEFAULT="quiet cgroup_enable=memory swapaccount=1"
>
> потом 'update-grub2' и перезагрузка, теперь все подсистемы смонтированы,
> можно проверить 'df -a -t cgroup'. После того как ваша группа сработала,
> я сделал на основе неё свой конфиг [1] с помощью cgsnapshot (см. пункт
> 2.10. Создание файла /etc/cgconfig.conf).
>
> По автоматизации.
> По федоринскому руководству должен быть специальный юнит который грузит
> конфиг, наверное в debian забыли это сделать, а пока добавил команду
> 'cgconfigparser -l /etc/cgconfig.conf' в свой скрипт автозагрузки. Но
> мне кажется есть еще варианты, просто я не до конца прочитал
> руководство.
>
> По хрому.
> Хром не может нормально работать с полгига оперативки, только гигабайт
> не меньше. Поэтому сделал две группы, одна со свопом, другая без. Если
> запускать без свопа (кстати вы правы, для групп можно отключать своп
> совсем), то хром работает шустро, но убиваются вкладки (пишет во
> вкладках «Он улетел! Но он обещал вернуться…»). Со свопом вкладок можно
> открыть больше, но немного подвисает из-за своппинга.
>
> Моя задача решена. В целом, можно сказать что cgroups технология
> перспективная, со временем обрастет различными обертками с GUI и
> веб-интерфейсом, уже сейчас можно придумать массу применений не только
> на серверах, но и на пользовательских машинах.
>
> [1] http://paste.ubuntu.com/10949461/
>
> --
> http://google.com/+РусланКоротаев;
>
>
> --
> To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> Archive: [🔎] 20150430071552.GA2705@debian">https://lists.debian.org/[🔎] 20150430071552.GA2705@debian
>



-- 
--
With best regards
  Max Dmitrichenko

Reply to: