Linux memory layout
Your RAM in Linux is built upon the following abstractions:
Each CPU (multi-core or not) is associated to their own Nodes#, ex: Node 0.
Each node is made up of Zones#, ex: DMA, DMA32, Normal.
Each zone contains a set number of Pages#, usually at the size of 4096 bytes.
- Each page can have a Page mapping#, ex: anonymous, file-backed, device-backed.
The Linux kernel can alter how file-backed and anonymous mapped pages are stored by moving them back and forth between RAM and disk. This is referred to as “swapping”. Read How Linux uses swap#
References
- McKay, D. (2019, December 9). What Is Swappiness on Linux? (and How to Change It). How-To Geek. https://www.howtogeek.com/449691/