<br><br><div class="gmail_quote">On Thu, Oct 13, 2011 at 2:36 PM, V.Ravikumar <span dir="ltr">&lt;<a href="mailto:ravikumar.vallabhu@gmail.com">ravikumar.vallabhu@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br><br><div class="gmail_quote">On Thu, Oct 13, 2011 at 2:12 PM, Jeff Donner <span dir="ltr">&lt;<a href="mailto:jeffrey.donner@gmail.com" target="_blank">jeffrey.donner@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>On Thu, Oct 13, 2011 at 1:26 AM, V.Ravikumar<br>
&lt;<a href="mailto:ravikumar.vallabhu@gmail.com" target="_blank">ravikumar.vallabhu@gmail.com</a>&gt; wrote:<br>
&gt; I&#39;ve a daemon process and I&#39;m allocating heap memory for big character<br>
&gt; buffers using malloc/free.<br>
&gt; Each can take 5MB.<br>
&gt;<br>
&gt; Though I freed/deleted memory allocated for the buffers, the increased<br>
&gt; memory during the allocation time is not re-claiming back.This I observed<br>
&gt; using top command.<br>
<br>
</div>Yes, I think it&#39;s glibc - it may keep your memory, with the idea that<br>
you&#39;ll request it again soon anyway. <br></blockquote></div></div>  <span style="color:rgb(0, 0, 153)"> If this is the case then memory should not keep on increase albeit how long process may run. right?</span><br>
<br>_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
<br></blockquote></div>Hi Ravi,<br><br><br>When you ask for a memory block, usually by using <code>malloc()</code>, you&#39;re asking the runtime C library whether a preallocated block is available. This block&#39;s size must <em>at least</em> equal the user request. If there is already a memory block available, <code>malloc()</code> will assign this block to the user and mark it as &quot;used.&quot; Otherwise, <code>malloc()</code> must allocate more memory by extending the heap. All requested blocks go in an area called the <em>heap.<br>
<br>Reference to an article by <b>Mulayadi Santosa :- </b><br><br><a href="http://linuxdevcenter.com/pub/a/linux/2006/11/30/linux-out-of-memory.html">http://linuxdevcenter.com/pub/a/linux/2006/11/30/linux-out-of-memory.html</a><br>
<br><b>AWESOME ARTICLE SIR :)<br><br></b></em>Regards,<br>Rohan Puri<br>