In any computing setup, whether the goal is to host a web server, a back-end application or simply a jump box, one thing is true: There must be enough memory to support whatever process, service or application you run on the Linux server. It doesn't matter if the distribution is Debian- or Red Hat-based; the ability to manage memory is crucial.
Linux memory management comes in all shapes and sizes. It typically starts off with the decision of how much memory you allocate to a Linux setup. For example, let's say you decide to run a hypervisor, such as VMware's ESXi. How much memory you buy depends on how many VMs you plan to run on that hypervisor. Once you know how much memory you need for the server, you can start thinking about memory management at the individual VM level.
Once you are at the VM level, you'll have a few options that you must consider. You should decide if the memory that you allocate to each virtual machine be dynamic or static. This means you will either allocate a pool of RAM or keep access dynamic so the VM takes as much memory as it needs. Once you decide on these factors, you can manage memory at the OS level.
This Linux memory management tutorial demonstrates how to manage memory at the OS level. You can learn the top five commands that manage memory and dive deep in the free command -- one of the most popular prompts -- and all of its different switches.