Fwd: System memory increased while process is running is not released back upon process exit
Joel Fernandes <agnel.joel <at> gmail.com>
2010-05-04 07:11:13 GMT
Just forwarding to the list
---------- Forwarded message ----------
From: Joel Fernandes <agnel.joel <at> gmail.com>
Date: Tue, May 4, 2010 at 12:40 PM
Subject: Re: System memory increased while process is running is not
released back upon process exit
To: ravikumar <ravikumar.vallabhu <at> gmail.com>
>> I've some application which will do much I/O disk. While this application
>> is running the memory usage of system is continuously increasing.
>> After stopping my process , no memory usage increased. But
>> leaked/increased memory was not released back upon my application exit.This
>> proves that there is no potential memory leaks in my process. Also
>> /proc/≤PID>/status file contents are not changing from start to end.
>> Where is leaked memory was gone even though my application terminates ?
>> I assumed that memory reserved for kernel buffer cache is not releasing
>> back. Correct me if assumption is wrong.
Your assumptions is correct.
>> I stuck up at this stage to analyze the issue.
>> Is really Linux Kernel is taken the physical memory for buffering and not
>> releasing in back ?
>> If yes , how long it will hold ?
It will hold it as long as it can, its only we're low on memory that
memory is freed, There is a way to release this memory (but note that
dirty pages cannot be freed before they are written back to their
Writing to this will cause the kernel to drop clean caches, dentries and
inodes from memory, causing that memory to become free.
To free pagecache:
echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
echo 3 > /proc/sys/vm/drop_caches
As this is a non-destructive operation and dirty objects are not freeable, the
user should run `sync' first.
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis <at> nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ