Назад | Перейти на главную страницу

Может ли 32-разрядный Linux использовать все 4 ГБ ОЗУ без ядра PAE?

Получу ли я выгоду от 32-разрядного ядра Linux с поддержкой PAE по сравнению с 32-разрядным ядром без PAE на сервере, который имеет ровно 4 ГБ оперативной памяти (и «pae» в флагах cpuid)? Сможет ли система использовать все 4 ГБ оперативной памяти без ядра PAE или некоторая часть памяти будет простаивать?

Да, вам понадобится ядро ​​с поддержкой PAE, чтобы увидеть 4 ГБ ОЗУ. Хотя есть много споров о том, чтобы увидеть дополнительную память с помощью хаков, таких как PAE, дает какие-либо преимущества.

На самом деле Джефф Этвуд сделал отличный пост по этому поводу: Чувак, где моя RAM

Да, вам нужно будет включить PAE, чтобы увидеть все 4 ГБ ОЗУ. Хотя 32-битный процессор теоретически должен иметь возможность использовать до 4 ГБ ОЗУ без PAE, проблема в том, что он требует, чтобы все 32 бита адресной шины использовали 4 ГБ, не оставляя ничего для таких вещей, как видеокарты. Таким образом, с системами без PAE вы получите менее 4 ГБ. Включение PAE решит эту проблему.

Я предполагаю, что вы хотите «вернуть» потерянную память, которую используют устройства?

Теперь помните, что физическая память - это не то же самое, что виртуальное адресное пространство. То есть каждая отдельная программа по-прежнему сможет использовать только 2 ГБ. Однако большее количество из них может работать без замены.

Также помните, что адресация PAE требует большего количества страниц таблицы / каталога страниц, поэтому вы теряете часть памяти для этого. Наверное, намного меньше, чем раньше принимали устройства.

Да, вы сможете использовать большую часть, если не все 4 ГБ оперативной памяти. Видеть эта публикация в Stackoverflow для более глубокого обсуждения PAE (среди прочего)