5.5.3.4Remap_file_pages
Remap_file_pages is another memory management feature that is suitable for large memory and database applications. It is primarily useful for x86 systems that use the shared memory file system (shmemfs). A shmemfs memory segment requires kernel structures for control and mapping functions, and these structures can grow unacceptably large given a large enough segment and multiple sharers.
For example, a 512 MB segment requires approximately 1 MB of kernel mapping structures per accessing process. Large database applications that create hundreds of concurrent threads (one for each SQL query, for example) can quickly consume all available free kernel address space. The Remap_file_pages feature modifies the shmemfs management structures, so they are significantly smaller (less than 100 bytes). This permits much larger shmemfs segments, and thousands of concurrent users to be supported.
Figure 5-67: Remap_ file_ pages for database applications
This section describes dynamic memory used by the kernel, and describes the object reuse requirement. This section also discusses the three sections of kernel memory management: Page Frame Management, Memory Area Management, and Noncontiguous Memory Area Management.
5.5.3.5Page frame management
The fundamental unit of memory under Linux is the page, a
127