Linux Stop Flushing of mmaped Pages To Disk

by on January 1, 2011 · 1 comment· LAST UPDATED February 15, 2011

in

How can I stop the flushing of mmaped pages to disk in Linux?

The /proc/sys/vm/flush_mmap_pages Linux kernel parameter specifies whether or not memory-mapped file pages should be flushed to disk by kupdate while the memory map is active. Valid values for this parameter are 1 (enable memory mapping by kupdate) and 0 (disable memory mapping by kupdate). The default value for this parameter is 1. To configure this parameter, use echo [1 or 0] /proc/sys/vm/flush_mmap_pages. Setting this parameter to 0 does the following (quoting from the official documentation):

  1. kupdate will not flush dirty memory-mapped file pages as long as the memory map is active.
  2. All dirty file pages will be asynchronously flushed to disk only as soon as the memory map is deactivated.

If you set /proc/sys/vm/flush_mmap_pages to 0, it is advisable that you use another application to manually sync memory-mapped pages to disk. So to stop the flushing of mmaped pages to disk in Linux, enter:

 
sysctl -w /proc/sys/vm/flush_mmap_pages=0
 

All dirty file pages will be asynchronously flushed to disk only as soon as the memory map is deactivated. To enable memory mapping again, enter:

 
sysctl -w /proc/sys/vm/flush_mmap_pages=1
 

Add the following line to /etc/sysctl.conf:
echo 0 >/proc/sys/vm/flush_mmap_pages

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 1 comment… read it below or add one }

1 liumiuyong January 1, 2013 at 7:51 am

under Ubuntu 12.10,this parameter was gone, is there any other parameter I can use?

Reply

Leave a Comment

Tagged as: , , , , , , , , , ,

Previous Faq:

Next Faq: