Memory Management

Linux memory management subsystem is responsible, as the name implies,for managing the memory in the system. This includes implementation ofvirtual memory and demand paging, memory allocation both for kernelinternal structures and user space programs, mapping of files intoprocesses address space and many other cool things.

Linux memory management is a complex system with many configurablesettings. Most of these settings are available via/procfilesystem and can be queried and adjusted usingsysctl. These APIsare described inDocumentation for /proc/sys/vm/ and inman 5 proc.

Linux memory management has its own jargon and if you are not yetfamiliar with it, consider readingConcepts overview.

Here we document in detail how to interact with various mechanisms inthe Linux memory management.