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

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

4 ответа

Решение

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

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

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

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

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

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

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

Другие вопросы по тегам