На большинстве платформ Linux работает с включенной виртуальной памятью.Это означает, что каждый процесс имеет свое собственное виртуальное адресное пространство, размер которого определяется только аппаратным обеспечением и тем, как его настроило ядро.
Например, в архитектуре x86 с "3/1"разделенная конфигурация, каждый процесс пользовательского пространства имеет 3 ГБ доступного адресного пространства, в котором выделяются куча и стек.Это не зависит от того, сколько физической памяти доступно в системе.В архитектуре x86-64 для каждого процесса пользовательского пространства обычно доступно 128 ТБ адресного пространства.
Физическая память выделяется отдельно для этой виртуальной памяти.Объем этого процесса зависит от конфигурации системы, но в целом он просто предоставляется «по требованию» - в основном ограничен объемом физической памяти и файлового пространства подкачки, а также объемом, используемым в настоящее время для других целей..