<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_10_thread_42517"  />
<title>rulinux.net - Форум - Talks - А что, ulimit/rlimit уже отменили что ли?</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - Talks - А что, ulimit/rlimit уже отменили что ли?</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:А что, ulimit/rlimit уже отменили что ли?</title>
<link>https://rulinux.net/message.php?newsid=42517&amp;page=1#223533</link>
<guid>https://rulinux.net/message.php?newsid=42517&amp;page=1#223533</guid>
<pubDate>Tue, 28 May 2019 23:42:05 +0300</pubDate>
<description><![CDATA[<p>Там нигде не сказано, там создаётся цэгруппа FF_limited и даются права колесу в ней запускать процессы. В иконке фокса я написал такую хрень: &quot;cgexec -g memory,cpu,cpuset:FF_limited firefox -no-remote -p %u&quot;. И стартую его через там. 

<br><br>
Да вот поправочка, со временем открыл для себя, что надо memory.memsw.limit_in_bytes делать такой же как и лимит памяти, чтобы при исчерпании RAM он не утраивал треш в свопе:

&lt;code land=&quot;bash&quot;&gt;
  memory {
    memory.limit_in_bytes = 5g;
    memory.memsw.limit_in_bytes = 5g;
  }
&lt;/code&gt;

<br><br>
А я не знаю как определить группу во второй версии. У меня обе версии работают, но v.2 ничего про фокс не знает, с её точки зрения все процессы сидят в одном слайсе.
<br><br>
Кстати, вон для фокса и не только <a href="https://github.com/netblue30/firejail">тюрьму</a> выпустили новую: <a href="https://www.opennet.ru/openforum/vsluhforumID3/117477.html">Выпуск системы изоляции приложений Firejail 0.9.60</a> - может оно и лучше для целей. Народ, к слову плюётся там в обсуждении, пишут что <a href="https://github.com/projectatomic/bubblewrap">bubblewrap</a> лучше.</p>]]></description>
</item>
<item>
<title>Re:А что, ulimit/rlimit уже отменили что ли?</title>
<link>https://rulinux.net/message.php?newsid=42517&amp;page=1#223529</link>
<guid>https://rulinux.net/message.php?newsid=42517&amp;page=1#223529</guid>
<pubDate>Tue, 28 May 2019 04:33:34 +0300</pubDate>
<description><![CDATA[<p>Я не понял, где именно указано, что именно /usr/bin/firefox запускается с такими ограничениями.<br><br>И ещё вопрос: это же синтаксис cgroups_v1, не v2?</p>]]></description>
</item>
<item>
<title>Re:А что, ulimit/rlimit уже отменили что ли?</title>
<link>https://rulinux.net/message.php?newsid=42517&amp;page=1#216712</link>
<guid>https://rulinux.net/message.php?newsid=42517&amp;page=1#216712</guid>
<pubDate>Wed, 20 Jul 2016 17:36:35 +0300</pubDate>
<description><![CDATA[<p>Альтернативное решение от Система - теперь <a href="https://wiki.archlinux.org/index.php/Firefox_tweaks#Run_Firefox_inside_an_nspawn_container">на базе nspawn</a>.</p>]]></description>
</item>
<item>
<title>Re:А что, ulimit/rlimit уже отменили что ли?</title>
<link>https://rulinux.net/message.php?newsid=42517&amp;page=1#216075</link>
<guid>https://rulinux.net/message.php?newsid=42517&amp;page=1#216075</guid>
<pubDate>Wed, 11 May 2016 12:56:51 +0300</pubDate>
<description><![CDATA[<p>OOM-киллер выбирает жертву не только по жирности. Например активно работающий процесс имеет меньше шансов быть убитым, а процессс повышенной &quot;хорошестью&quot; (т.е. с высокими niceness, другими словами с пониженным приоритетом) увеличивает свои шансы вдвое, так что фиг тут угадаешь кого убьют в этом хозяйстве:
<br>
<fieldset><legend>text</legend><div class="highlight text"><br />
&nbsp; PID USER &nbsp; &nbsp;PR &nbsp;NI &nbsp; &nbsp;VIRT &nbsp; &nbsp;RES &nbsp; &nbsp;SHR S &nbsp;%CPU %MEM &nbsp; &nbsp; TIME+ COMMAND<br />
&nbsp;8493 x3who &nbsp; 20 &nbsp; 0 2911508 1.270g 156456 S &nbsp; 0.0 &nbsp;8.1 &nbsp; 3:15.47 firefox<br />
26826 x3who &nbsp; 20 &nbsp; 0 3229908 931356 144520 S &nbsp; 0.0 &nbsp;5.7 &nbsp;60:07.25 firefox<br />
&nbsp;4357 x3who &nbsp; 20 &nbsp; 0 11.048g 807732 230060 S &nbsp; 0.0 &nbsp;4.9 &nbsp;19:16.19 plasmashell<br />
&nbsp;4308 x3who &nbsp; 39 &nbsp;19 5757824 579504 506584 S &nbsp; 0.0 &nbsp;3.5 &nbsp; 0:15.59 baloo_file<br />
&nbsp;4666 x3who &nbsp; 20 &nbsp; 0 1456980 363600 105148 S &nbsp; 0.0 &nbsp;2.2 &nbsp; 3:27.70 thunderbird<br />
&nbsp;5914 root &nbsp; &nbsp;20 &nbsp; 0 &nbsp;906444 251080 &nbsp;18004 S &nbsp; 0.0 &nbsp;1.5 &nbsp; 1:16.41 packagekitd<br />
&nbsp;1846 root &nbsp; &nbsp;20 &nbsp; 0 &nbsp;331132 199960 &nbsp;69392 S &nbsp; 0.0 &nbsp;1.2 &nbsp;12:52.48 Xorg<br />
&nbsp;...<br />
&nbsp;</div></fieldset>
<br><br>
Ну и ООМ-киллер приходи вроде когда памяти совсем нет, а это значит кеши файловой системы уже прибиты (и своп заполнился?), т.е. компьютер уже давно страдает.
<br><br>
А под cgroups фирефоксы сидят в своей отдельной клетке в которой им дадено четверть всех ресурсов системы. Какой-нить экземпляр взбрыкнул и захотел отожрать больше памяти - ну сам же и сдох. Захотел отожрать больше одного ядра процессора - фиг ему дали. Вся остальная система не страдает от фирефоксовой придури.
</p>]]></description>
</item>
<item>
<title>Re:А что, ulimit/rlimit уже отменили что ли?</title>
<link>https://rulinux.net/message.php?newsid=42517&amp;page=1#216074</link>
<guid>https://rulinux.net/message.php?newsid=42517&amp;page=1#216074</guid>
<pubDate>Wed, 11 May 2016 08:10:20 +0300</pubDate>
<description><![CDATA[<p>А нельзя было сделать то же самое, но только с помощью старого-доброго oom-killer-а? Как только кто-то полез в свап - прибиваем самого жирного огнелиса.</p>]]></description>
</item>
<item>
<title>Re:А что, ulimit/rlimit уже отменили что ли?</title>
<link>https://rulinux.net/message.php?newsid=42517&amp;page=1#216063</link>
<guid>https://rulinux.net/message.php?newsid=42517&amp;page=1#216063</guid>
<pubDate>Tue, 10 May 2016 12:28:19 +0300</pubDate>
<description><![CDATA[<p>Ну prlimit у тебя тоже должен быть.
<br><br>
Кстати цегруппы работают нормально. Вчера фокс наконец-то решил снова пошуршать в свопе - ну пошуршал пару секунд и сдох. При чём сдох тот экземпляр, который надо. Запустил его снова с теми же табами - всё хорошо, памяти не надо. 
<br><br>
И одного ядра ему хватает, так что не расползается потоками по всем ядрам и субъективно в целом меньше подтормаживает систему за счёт этого. Так что апгрейдь свою федору.</p>]]></description>
</item>
<item>
<title>Re:А что, ulimit/rlimit уже отменили что ли?</title>
<link>https://rulinux.net/message.php?newsid=42517&amp;page=1#216059</link>
<guid>https://rulinux.net/message.php?newsid=42517&amp;page=1#216059</guid>
<pubDate>Tue, 10 May 2016 09:23:13 +0300</pubDate>
<description><![CDATA[<p>Ничего себе что в линуксе делается! Я про такое даже не догадывался. Вот что значит сидеть на 14-й федоре без этих ваших цегрупп с системдэ.</p>]]></description>
</item>
<item>
<title>А что, ulimit/rlimit уже отменили что ли?</title>
<link>https://rulinux.net/message.php?newsid=42517&amp;page=1#216040</link>
<guid>https://rulinux.net/message.php?newsid=42517&amp;page=1#216040</guid>
<pubDate>Sat, 07 May 2016 17:14:06 +0300</pubDate>
<description><![CDATA[<p>Чета файрфокс повадился выжирать по паре десятков гигабайт памяти время от времени. Просто тупо в простое с несколькими сотнями открытых табов ни с того ни с сего - бах и машина вдруг в своп лезет.
<br>
Ну попробовал запускать его следующим образом:
<br>
<fieldset><legend>bash</legend><div class="highlight bash">prlimit <span class="re5">--rss</span>=740000000:740000000 &nbsp;<span class="re5">--data</span>=1024000000:1024000000 firefox <span class="re5">-no-remote</span> <span class="re5">-p</span> <span class="sy0">%</span>u</div></fieldset>
<br>

Результат - процесс отожрал больше 1024 мегабайт:
<br>
<fieldset><legend>bash</legend><div class="highlight bash"><br />
&nbsp; PID USER &nbsp; &nbsp; &nbsp;PR &nbsp;NI &nbsp; &nbsp;VIRT &nbsp; &nbsp;RES &nbsp; &nbsp;SHR S &nbsp;<span class="sy0">%</span>CPU <span class="sy0">%</span>MEM &nbsp; &nbsp; TIME+ COMMAND &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp;<span class="nu0">3354</span> x3who &nbsp; &nbsp; <span class="nu0">20</span> &nbsp; <span class="nu0">0</span> <span class="nu0">2664832</span> 1.243g <span class="nu0">155636</span> R <span class="nu0">117.3</span> &nbsp;<span class="nu0">7.9</span> &nbsp; <span class="nu0">2</span>:<span class="nu0">46.28</span> firefox &nbsp;<br />
&nbsp;</div></fieldset>
<br>
Я не понял - prlimit не работает чтоли? Попробовал ещё &quot;--as&quot; добавить - но он с ним сегфолтится не доев память до отведённого объёма, что, наверное, логично.
<br>
<br>
Вобщем пока цегруппами сделал:
<br>
<fieldset><legend>bash</legend><div class="highlight bash"><br />
<span class="kw2">sudo</span> cgcreate <span class="re5">-a</span> :wheel <span class="re5">-t</span> :wheel <span class="re5">-g</span> memory,cpu,cpuset:FF_limited<br />
<span class="kw3">echo</span> <span class="st0">&quot;0&quot;</span> <span class="sy0">&gt;/</span>sys<span class="sy0">/</span>fs<span class="sy0">/</span>cgroup<span class="sy0">/</span>cpuset<span class="sy0">/</span>FF_limited<span class="sy0">/</span>cpuset.mems <br />
<span class="kw3">echo</span> <span class="st0">&quot;3&quot;</span> <span class="sy0">&gt;/</span>sys<span class="sy0">/</span>fs<span class="sy0">/</span>cgroup<span class="sy0">/</span>cpuset<span class="sy0">/</span>FF_limited<span class="sy0">/</span>cpuset.cpus <br />
<span class="kw3">echo</span> 4g <span class="sy0">&gt;</span> <span class="sy0">/</span>sys<span class="sy0">/</span>fs<span class="sy0">/</span>cgroup<span class="sy0">/</span>memory<span class="sy0">/</span>FF_limited<span class="sy0">/</span>memory.limit_in_bytes<br />
<span class="co0">## memsw.limit_in_bytes = memory.limit_in_bytes + amount in swap file </span><br />
<span class="kw3">echo</span> 6g <span class="sy0">&gt;</span> <span class="sy0">/</span>sys<span class="sy0">/</span>fs<span class="sy0">/</span>cgroup<span class="sy0">/</span>memory<span class="sy0">/</span>FF_limited<span class="sy0">/</span>memory.memsw.limit_in_bytes<br />
cgexec <span class="re5">-g</span> memory,cpu,cpuset:FF_limited <span class="kw2">ls</span> <span class="re5">-l</span> <span class="sy0">/</span>sys<span class="sy0">/</span>fs<span class="sy0">/</span>cgroup<span class="sy0">/</span>memory<span class="sy0">/</span>FF_limited<span class="sy0">/</span><br />
&nbsp;</div></fieldset>
<br>
Или /etc/cgconfig.conf (ещё не проверял через конф):
<br>
<fieldset><legend>bash</legend><div class="highlight bash">group FF_limited <span class="br0">&#123;</span><br />
&nbsp; perm <span class="br0">&#123;</span><br />
<span class="co0"># who can manage limits</span><br />
&nbsp; &nbsp; admin <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; gid = wheel;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="co0"># who can add tasks to this group</span><br />
&nbsp; &nbsp; task <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; gid = wheel;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
&nbsp; cpu <span class="br0">&#123;</span><br />
&nbsp; &nbsp; cpu.shares = <span class="nu0">100</span>;<br />
&nbsp; <span class="br0">&#125;</span><br />
&nbsp; cpuset <span class="br0">&#123;</span><br />
&nbsp; &nbsp; cpuset.mems = <span class="nu0">0</span>;<br />
&nbsp; &nbsp; cpuset.cpus = <span class="nu0">3</span>;<br />
&nbsp; <span class="br0">&#125;</span><br />
&nbsp; memory <span class="br0">&#123;</span><br />
&nbsp; &nbsp; memory.limit_in_bytes = 4g;<br />
&nbsp; &nbsp; memory.memsw.limit_in_bytes = 6g;<br />
&nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
&nbsp;</div></fieldset>
<br>
<br>
Но тут ресурсы на группу распределяются, а мне хочется чтобы на экземпляр файрфокса можно было ограничения навесить, чтобы каждый из них по выходе за 6ГБ обламывался потому что я запускаю несколько разных экземпляров с разными профилями и не хочу чтобы они друг на друга влияли (например отожрёт память один, а грохнется при попытке распределить память другой, невиновный).
</p>]]></description>
</item>
</channel>
</rss>