У меня есть машина под управлением 32-разрядной версии CentOS 4 с 12 гигабайтами ОЗУ.
Если я запускаю бесплатную команду, я вижу:
# free
total used free shared buffers cached
Mem: 12409180 2227676 10181504 0 48544 961296
-/+ buffers/cache: 1217836 11191344
Swap: 4192956 0 4192956
Если запустить верхнюю часть, то у нас будет 12 гигабайт оперативной памяти.
Вопрос в том, что я использую ядро 2.6.9-78.0.22.ELsmp, и мне было интересно, может ли система использовать более 4 гигабайт оперативной памяти. Я видел много вещей, говорящих о том, что вам нужна эта версия ядра (PAE) или вам нужна версия ядра smp. Я понимаю, что в 32-битной ОС объем ОЗУ ограничен для каждого процесса, но мне было интересно, может ли ОС адресовать более 4 гигабайт для использования приложения (как в 5 приложениях, использующих 2 гигабайта оперативной памяти каждое).
Пространство для каждого процесса по-прежнему строго ограничено 4 ГБ даже с PAE, но можно запускать несколько процессов.
Предполагая, что PAE используется, поэтому доступ выше линии 4 ГБ возможен, каждому процессу будет предоставлено 4 ГБ пространства виртуальной памяти для игры. Они могут и используют память выше линии 4 ГБ, только с большей задержкой, чем у ОЗУ ниже линии 4 ГБ.
Да. Для вашего ядра включено 12 гигабайт, и вы можете использовать несколько процессов с 2 гигабайтами памяти каждый.