<?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_42419"  />
<title>rulinux.net - Форум - Talks - Dr.Uid, Вот тебе программа для аллоцирования памяти</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - Talks - Dr.Uid, Вот тебе программа для аллоцирования памяти</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:Dr.Uid, Вот тебе программа для аллоцирования памяти</title>
<link>https://rulinux.net/message.php?newsid=42419&amp;page=1#215148</link>
<guid>https://rulinux.net/message.php?newsid=42419&amp;page=1#215148</guid>
<pubDate>Mon, 22 Feb 2016 17:51:22 +0300</pubDate>
<description><![CDATA[<p><i>> А вообще man 2 mmap. Это касательно того, как файл с таким массивом отобразить в память. Своп работает по тому же принципу.</i><br> Спасибо, мой капитан ;()</p>]]></description>
</item>
<item>
<title>Re:Dr.Uid, Вот тебе программа для аллоцирования памяти</title>
<link>https://rulinux.net/message.php?newsid=42419&amp;page=1#215142</link>
<guid>https://rulinux.net/message.php?newsid=42419&amp;page=1#215142</guid>
<pubDate>Sun, 21 Feb 2016 19:08:21 +0300</pubDate>
<description><![CDATA[<p>Тут можно согласиться с Василием в части нужности хибернейта. Имхо заново загрузиться будет быстрее чем дожидаться пока оно всосётся из свопа.
<br><br>
Кстати, сегодня комп наведывался в своп пока бэкапился хомяк.. Надо как-то ограничить прожорливость бэкапа несколькими гигами, а то местами было неудобно.
</p>]]></description>
</item>
<item>
<title>Re:Dr.Uid, Вот тебе программа для аллоцирования памяти</title>
<link>https://rulinux.net/message.php?newsid=42419&amp;page=1#215141</link>
<guid>https://rulinux.net/message.php?newsid=42419&amp;page=1#215141</guid>
<pubDate>Sun, 21 Feb 2016 17:13:03 +0300</pubDate>
<description><![CDATA[<p>Как работает гибернейт, если занята вся память и весь своп?</p>]]></description>
</item>
<item>
<title>Re:Dr.Uid, Вот тебе программа для аллоцирования памяти</title>
<link>https://rulinux.net/message.php?newsid=42419&amp;page=1#215018</link>
<guid>https://rulinux.net/message.php?newsid=42419&amp;page=1#215018</guid>
<pubDate>Sun, 14 Feb 2016 09:31:33 +0300</pubDate>
<description><![CDATA[<p>А вообще хорошо бы иметь свопа сколько и оперативки, но оперативку я менял уже не раз, а система живет с тех времён, когда её было 4 гига, а переразбивать диск из-за свопа не хочу. И вообще своп всегда пуст у меня, даже эти 4 гига. Гибернейт не нужен.</p>]]></description>
</item>
<item>
<title>Re:Dr.Uid, Вот тебе программа для аллоцирования памяти</title>
<link>https://rulinux.net/message.php?newsid=42419&amp;page=1#215017</link>
<guid>https://rulinux.net/message.php?newsid=42419&amp;page=1#215017</guid>
<pubDate>Sun, 14 Feb 2016 09:23:11 +0300</pubDate>
<description><![CDATA[<p>Ой какую хрень ты понаписал с видом знатока. Массив больше оперативы, но меньше оперативы+свопа, ага. И программа на это расчитывает.<br><br>А вообще man 2 mmap. Это касательно того, как файл с таким массивом отобразить в память. Своп работает по тому же принципу.</p>]]></description>
</item>
<item>
<title>Re:Dr.Uid, Вот тебе программа для аллоцирования памяти</title>
<link>https://rulinux.net/message.php?newsid=42419&amp;page=1#214999</link>
<guid>https://rulinux.net/message.php?newsid=42419&amp;page=1#214999</guid>
<pubDate>Fri, 12 Feb 2016 20:22:37 +0300</pubDate>
<description><![CDATA[<p><i>> На серверах в энтерпрайзе это вообще критическая ситуация, если оно начинает своповатся, зачит в 99% либо админ ленив, либо программисты дебилы.</i><br> Любо ты дурак :) Например, тебе нужно отсортировать массив больше объема оперативы. Если позволит размер свопа, то ты почти легко обойдешься  стандартными методами, без переписывания алокаторов и/или использования алгоритмов работающих с диском.</p>]]></description>
</item>
<item>
<title>Re:Dr.Uid, Вот тебе программа для аллоцирования памяти</title>
<link>https://rulinux.net/message.php?newsid=42419&amp;page=1#214945</link>
<guid>https://rulinux.net/message.php?newsid=42419&amp;page=1#214945</guid>
<pubDate>Fri, 12 Feb 2016 18:52:19 +0300</pubDate>
<description><![CDATA[<p>&gt; На серверах в энтерпрайзе это вообще критическая ситуация, если оно начинает своповатся
<br><br>
Это вполне нормальная ситуация. Если у тебя сидят демоны, которые что-то там по хозяйству делают раз в сто лет - ну и пусть себе высвапливаются. Если у тебя сидят демоны, которые принимают огромные пачки данных, а потом их куда-нибудь потихоньку запихивают, в принтер например - ну и пусть они высвапливаются. Чем больше высвопится - тем больше места под кеш ФС останется, что в свою очередь положительно скажется на общей производительности системы.
<br><br>
Я тебе по секрету скажу, что &quot;своповатся&quot; подразумевает два процесса - page in и page out (&quot;si&quot;  и &quot;so&quot; по vmstat-овски). И page out вообще никого не волнует - давно не пользованные страницы скидываются в своп, туда им и дорога. Тем более, что они сразу не отбрасывают копыта, просто перемещаются в список страниц, которые могут быть переиспользованы под нужды системы ЕМНИП. Или отмечаются как высвопленные. 
<br><br>
Хуже когда у тебя постоянно высокие page-in'ы - в общем случае это значит системе не хватает памяти и ей приходится скидывать в своп достаточно часто используемые страницы. 
<br><br>
&gt; админ ленив, либо программисты дебилы
<br><br>
Почему &quot;или&quot;? Неленивый админ - это вообще нонсенс, а если бы программисты не были дебилами - они бы уже давно бросили заниматься программированием и заставили бы компьютеры делать работу за них :)
<br><br>
&gt; В реальном мире на десктоп своп в 31Га _НЕ_ нужен
<br><br>
Ну не знаю. Я лично тешу себя надеждой, что у меня останется возможность прибить какой-нибудь процесс пока он будет занимать всё доступное для свопа пространство, даже несмотря на жуддкие тормоза при этом. 
<br><br>
Кроме того, а сколько вообще свопа нужно? Не так уж и много надо _современных_ программ на десктопе чтобы выжрать памяти больше имеющегося ОЗУ. И вот куда ты прикажешь хибернировать десктоп после этого?
</p>]]></description>
</item>
<item>
<title>Re:Dr.Uid, Вот тебе программа для аллоцирования памяти</title>
<link>https://rulinux.net/message.php?newsid=42419&amp;page=1#214936</link>
<guid>https://rulinux.net/message.php?newsid=42419&amp;page=1#214936</guid>
<pubDate>Fri, 12 Feb 2016 18:10:26 +0300</pubDate>
<description><![CDATA[<p>Я тебе же  ещё вчера сказал,  31Га своп можно забить:  <br />  a) если нет ума этого избезать  <br /> б) если есть желание это сделать<br><br> В реальном мире  на десктоп  своп в 31Га  _НЕ_ нужен<br><br>На серверах в энтерпрайзе  это  вообще критическая ситуация, если оно начинает своповатся, зачит в 99%  либо админ ленив, либо программисты дебилы.<br><br></p>]]></description>
</item>
<item>
<title>Dr.Uid, Вот тебе программа для аллоцирования памяти</title>
<link>https://rulinux.net/message.php?newsid=42419&amp;page=1#214935</link>
<guid>https://rulinux.net/message.php?newsid=42419&amp;page=1#214935</guid>
<pubDate>Fri, 12 Feb 2016 18:02:36 +0300</pubDate>
<description><![CDATA[<p>Просто подставь там в дефайне ALLOCATE столько мегабайт, сколько у тебя нету физической памяти и убедись, что при наличии свопа всё работает (задержки вставлены чтобы можно было неспеша контролировать состояние процесса в разные моменда экзекуции):
<br><br>
<fieldset><legend>c</legend><div class="highlight c"><br />
<span class="co2">#include &lt;stdlib.h&gt;</span><br />
<span class="co2">#include &lt;stdio.h&gt;</span><br />
<br />
<span class="co2">#define Sleep_Delay 14</span><br />
<span class="co2">#define MB 1024*1024</span><br />
<span class="co2">#define ALLOCATE 1500</span><br />
<br />
<span class="kw4">int</span> main <span class="br0">&#40;</span><span class="kw4">int</span> argc<span class="sy0">,</span> <span class="kw4">char</span> <span class="sy0">**</span>argv<span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; <span class="kw4">const</span> <span class="kw4">unsigned</span> MemToAlloc <span class="sy0">=</span> ALLOCATE<span class="sy0">*</span>MB<span class="sy0">;</span><br />
&nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;(1) Started<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; sleep<span class="br0">&#40;</span>Sleep_Delay<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="kw4">char</span> &nbsp; &nbsp;<span class="sy0">*</span>cp <span class="sy0">=</span> calloc <span class="br0">&#40;</span>1<span class="sy0">,</span>MemToAlloc<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>cp<span class="sy0">==</span>NULL<span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;Allocation failed. Exiting<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; exit<span class="br0">&#40;</span>1<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
&nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;(2) Allocated %d Bytes<span class="es1">\n</span>&quot;</span><span class="sy0">,</span>MemToAlloc<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; sleep<span class="br0">&#40;</span>Sleep_Delay<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; free<span class="br0">&#40;</span>cp<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;(3) Data buffer is freed<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; sleep<span class="br0">&#40;</span>Sleep_Delay<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="kw1">return</span> <span class="nu0">0</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><span class="sy0">;</span><br />
&nbsp;</div></fieldset></p>]]></description>
</item>
</channel>
</rss>