understanding linux cache and free command

Prashant Batra <[email protected]>
Newsgroups org.kernel.vger.linux-newbie
Message-ID <[email protected]>
Hi All,

I have created few memory cache areas using "kmem_cache_create" and 
using it to allocate some memory.

What I observe after some cache_alloc's and cache_free's is that 
/proc/slabinfo entries for my objects are good, meaning the number of 
objects go back to 0 after they are freed.

But linux "free" command shows that some of the objects are cached and 
that keeps on increasing. I am not able to understand this behavior. Is 
it that kernel keeps the cache objects even after they are freed?

#cat /proc/slabinfo
my_cache         200    200   4096    1    1 : tunables   24   12    8 : 
slabdata    200    200      0

It shows 200 allocated objects from "my_cache"

and

#free -lm

             total       used       free     shared    buffers     cached
Mem:         48340        610      47730          0         96       130

the cached objects keep on growing.

After 5 mins in which I am doing some alloc and free-
             total       used       free     shared    buffers     cached
Mem:        48340        616      47723          0         96        137

/proc/slabinfo remains the same.

Any help is appreciated.

Thanks,
Prashant
--
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.