Довольно долго думал, в какой блог это запостить, и так и не придумал.
Описываемая проблема в своё время лишила меня массы нервных клеток, и в будущем (цены на оперативку падают) с ней будет сталкиваться только больше людей, поэтому я решил поделиться всем, что знаю.
Проблема проста: вы поставили в компьютер 4 гигабайта оперативки, но операционка не оценила вашей щедрости.
Немножко подумав, Вы вспоминаете, что ваша операционка 32-битная, следовательно адресуемое пространство — 4ГБ. Беда в том, что занимает его не только оперативка, но и другие устройства. В том числе видеокарта. И вот, от ваших четырёх гигабайт остаётся в лучшем случае три с половиной. Обидно? Обидно.
Хочу сразу расстроить. 32битные XP и Vista ни с каким бубном не захотят видеть ничего кроме своих 32бит.
Распутье
Перед вами встаёт выбор:
- Забить и жить с этим — наименее тернистый путь, имхо
- Поставить 64битную ось — всё-таки у 64битных систем ещё есть проблемы с совместимостью. Вылечив одно, покалечите другое.
- Поставить серверную 32битку — именно о нём я и собираюсь рассказать поподробнее.
PAE
Что же волшебного в Windows 2003 Server Enterprise? Она может на полную использовать PAE (Physical Address Extension). В XP она тоже есть, но начиная с SP2, она не производит расширения адресного пространства в интересах совместимости и используется лишь для поддержки работы DEP. Эта технология позволяет использовать 36-битную адресацию для доступа к адресам, вылезающим за 4 гигабайта. Поддерживается процессорами начиная с Pentium Pro.
Вкусно? Да. При помощи PAE винда сможет использовать довольно существенный объём памяти, оставаясь 32-битной. Однако приложениям по-прежнему будет выделяться 2ГБ виртуального адресного пространства. Это означает, что используя много ресурсоёмких программ вы почувствуете выигрыш. А если вы хотите «накормить» фотошоп – то ничего не изменится.
PAE добавляет также технологию AWE. Она позволяет программе обойти это ограничение путём передвигания двухгигового «окна» по адресному пространству. Однако, увы, большинство приложений эту технологию не поддерживают, так что можете о ней и не думать. Разьве что MSSQL Server, но на нём фотошопить не выйдет.
upd: fixed (20.07.2009)
Проблемы
Вполне радужно? Рано радуетесь. Не забывайте, это всё-таки виндоуз 2003 сервер. Все отключённые мультимедиа возможности легко включатся, это не проблема. И система будет железно стабильной. Но Вы столкнётесь с массой принципиальных производителей, любящих проверку версий, но не любящих вашу систему. Например HP, Logitech (как раз вот буквально на днях). К счастью, при помощи бубна (режим совместимости и Application Verifier) вы вполне заставите всё работать.
Правда, если какая-то программа полезет в память ядра, то она рискует столкнуться с неожиданностью, видимо не обнаружив половины. Одна из них — движок Source. Портал у меня запускаются раз через раз…
Также, некоторые драйверы в теории могут некорректно работать.
Впрочем, я живу с этим уже третий месяц, и вполне счастлив, не испытывая практически никаких проблем. Синего экрана я не видел ещё ни разу, тьфу-тьфу.
Окей, так как этот PAE применить?
Ребята из Microsoft неплохо всё объяснили: support.microsoft.com/kb/283037
Но на всякий случай добавлю: кроме ключа PAE вам возможно потребуется включить в BIOS опцию ремаппинга памяти. У себя я нашёл её в параметрах чипсета.
Ещё почитать
www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx
www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx
www.ixbt.com/soft/windows-4gb.shtml — очень крутая статья по теме, подкинул gotch
upd: Внёс некоторые поправки.