Thread (5 messages) 5 messages, 2 authors, 2015-09-24

Active Memory never reclaimed please help me understand

From: Mulyadi Santosa <hidden>
Date: 2015-09-23 16:07:33

On Wed, Sep 23, 2015 at 4:47 AM, Prem Kumar [off-list ref] wrote:
also wondering if there is a way I can list Active memory map showing me
what is cached?

-regards.

On Tue, Sep 22, 2015 at 3:08 PM, Prem Kumar [off-list ref]
wrote:
quoted
Dear All,

I have done quite a bit of reading on Active memory reported in
/proc/meminfo and in short says it is never reclaimed unless absolutely
necessary, and it caches the recently used files/pages in memory. Although
I fail to understand the consequences that I face here.

I have disk-less and swap-less nodes. So all I have to do, is play with
the RAM on the box. Issue that brought me here is investigating why after
running some applications, used memory is never available for use with any
other applications.

In other words I cannot run any programs that requests memory more than
what is shown as free in the output of free command and MemFree in the
output of the cat /proc/meminfo
For example if I ran any program that requires more than 6GB on the first
node below and more than 1GB on the second node below they fail instantly,
and work fine if within the limist of free. There is nothing else running
on the system other than system processes/services.

             total       used       free     shared    buffers     cached
Mem:            23         17          6          0          0          9
-/+ buffers/cache:          8         15
Swap:            0          0          0

             total       used       free     shared    buffers     cached
Mem:            23         22          1          0          0          0
-/+ buffers/cache:         21          1
Swap:            0          0          0

Since the applications that ran previously are not running any more "even
though they died out of memory because they requested more memory than
available", shouldn't the OS see that any memory used previously as useless
and can it not reclaim that for use with the next job/program on that
machine.

On every machine that I have run into this problem the out put of
/proc/meminfo shows that Active memory is used up the amount shown in the
free command and limits my further runs.

This is driving me insane and making me feel stupid knowing that OS is
smart enough to handle this, then what am I missing here to understand?
Please advise.

Appreciate any insight into this.

Best Regards,
Prem

Dear Prem

welcome to kernelnewbies :) First of all, please don't do top posting when
replying. Follow like what I and the rest of list member do.

Btw, looking from the free output, I have a doubt about your statement that
your first application took 6 GB and secondly it took 1 GB. Assuming your
application doesn't thing like memory locking in kernel space, i guess it
takes 20+ GB of RAM.

So, before we go further, could you re run your applications and use ps or
top to see both the VSIZE and RSS they take ?

Regarding memory claiming, yes after app is killed (using any ways
possible: ctrl-c, sending kill/term/quit signal, OOM etc), any memory
allocated by this task are freed. It happen on both active and inactive
pages


-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150923/2290e2ad/attachment.html 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help