Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Активные темы » Большой объём памяти в x86 windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

eEye

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Большой объём памяти в x86 windows
 
Здравствуйте.
 
Остро встал вопрос об установке большого объёма памяти, 8 гигобайт на 32 битную систему, как многие знают 32 битные системы уже имеют проблемы с 4 гб озу. Прочитв множество статей и обсуждений в форумах не смог получить чёткого представления о поддерживаемой объёме памяти в 32 битных серверных системах windows. (64 битную не позволяет вера ставить)
 
Речь пойдет о Windows Server 2003 Enterprise (и в целом об сеймействе win server 2003). Понял, что PAE – это поддержка большого объема  памяти со стороны железа и операционки, а AWE – это ее поддержка со стороны софта. И вся проблема в том, что такой поддержкой обладает  специальный софт, оперирующий огромными объемами данных(например Microsoft SQL Server, у меня такого софта не будет. Из  статейговорится, даже если Windows определит всю доступную  память, пользу это не принесет. Причина в том, что область памяти за пределами 4 Гб в 32-битной среде может быть доступна только  приложениям, написанным с использованием интерфейса AWE (Address Windowing Extension).
Вот здесь для меня возникает множество вопросов, опирируя данными этой таблицы
 непонятна работа с большим объёмом памяти этих серверных систем, а конкретно по таблице:
Standard Edition: Максимальный объем оперативной памяти - 4 ГБ (как у win XP)
Enterprise Edition: Максимальный объем оперативной памяти - 32 гб для компьютеров на базе процессора х86
Datacenter Edition: Максимальный объем оперативной памяти - 64 гб для компьютеров на базе процессора х86
Web Edition: Максимальный объем оперативной памяти - 2 гб (странный выпуск, но меня в данной теме он не интересует)
Standard Edition и Web Edition отбрасываются из-за поддержки малого объёма памяти, Datacenter Edition из-за того что это (если рассматривать только поддержку объёма памяти, а не остальной функционал), тоже самое что Enterprise Edition, но с более большим объёмом озу.
 
Итак, Enterprise Edition поддерживает 32 гб для рядовых х86 процессоров, но непонятно, это 32 или 64 битная система, но по логике не вижу смысла ставить 32 битную систему на процессор поддерживаемый х86 архитектуру. Если я прав и это 32 битные системы, то как же статьи про PAE в начале темы, PAE ведь присутствует в данном семействе систем. Если я не прав и это 64 битные системы имеются в виду, то можноли с уверенностью сказать, что ВСЕ 32 битные системы поддерживают до 4 гб озу (но видимые 3.5 - 3.8 из них обычно). А если прав, то мои 8 гб будут нормально видны для софта и работать с ним или они видны из-за PAE и работать с с таким объёмом озу будет только специальный софт?

Всего записей: 32 | Зарегистр. 08-01-2008 | Отправлено: 21:33 08-11-2008
stfv



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eEye
Нужно смотреть на сайте производителя:
http://www.microsoft.com/Rus/WindowsServer2003/evaluation/features/compareeditions.mspx

Всего записей: 492 | Зарегистр. 01-12-2006 | Отправлено: 00:37 09-11-2008
maxhl

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eEye
Да, если программа поддерживает AWE, то для нее будет видна вся память, которая доступна для операционной системы. Только вот этим преобразованием адресов занимается программная часть, а не аппаратная - в связи с этим тормоза на преобразование адресов.
Но! Зачем такой гемор?!
Для программ, скомпилированных под x64 будет оптимально использовать x64 среду.

Всего записей: 52 | Зарегистр. 20-06-2006 | Отправлено: 00:58 09-11-2008 | Исправлено: maxhl, 00:59 09-11-2008
eEye

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
stfv, 1) по сноске написано: "4 32-разрядная версия Enterprise Edition и 64-разрядная версия Standard Edition поддерживают до 32 ГБ оперативной памяти.", но непонятно, как же она это адресует, то есть будет ли нормально работать в приложениях, которые не поддерживают AWE? Ведь 2^32 4 гигабайта с копейками максимум что адресуется в 32 битных системах.
p.s. Не спорю, а лишь уточняю для себя непонятные вещи.
 
2) В графе "Максимальный объем оперативной памяти 32 ГБ", статус "Частично поддерживается", такой же вопрос, будут ли приложения без поддерки AWE нормально работать?
 
 
maxhl, в большей степени я занимаюсь координированием и предоставляю железо + ещё чем по мелочи, а отдельным софтом занимается отдельный человек, к примеру взять игровой сервер team fortress 2, апдейты чуть-ли не каждый месяц, обновление автоматическое с сервера происходит под 32 битную системы, под 64 админ говорит траблы. еще пример, банальный, но всё же, вов (мангос эмуль), каждые 2-3 заплатки, компил занимает от 30 до 50 минут с добавлением нескольких десятков патчей, каждый раз проблемно делать. cod4, сервер один встраиваемый в клиент, не видел 64 битной поддержки.

Всего записей: 32 | Зарегистр. 08-01-2008 | Отправлено: 01:22 09-11-2008
stfv



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eEye
А в чём собственно вопрос?
Если ты принципиально не хочешь ставить 64-х разрядную систему, то других вариантов просто не существует - поддерживают приложения AWE или нет.

Всего записей: 492 | Зарегистр. 01-12-2006 | Отправлено: 01:52 09-11-2008
eEye

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1) То есть математические подсчеты о адресации 32 разрядной системы (2^32=4294967296) характерны для всех 32 битных систем и никаким способом не заставить видить и использовать озу больше 4гб (3.5-3.8)? Даже в серверных системах?
 
2_ Уточняю про серверные, потому что на сайте MS в сравнительной таблице (выше по ссылке от Вас, stfv, есть в сноске: "4 32-разрядная версия Enterprise Edition и 64-разрядная версия Standard Edition поддерживают до 32 ГБ оперативной памяти.", этим больше всего заинтересовался. Хочется подробнее разузнать.

Всего записей: 32 | Зарегистр. 08-01-2008 | Отправлено: 05:11 09-11-2008
L38Crow



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eEye - Если пользоваться грубыми аналогами, то для решения проблемы памяти больше 4 Гб на 32 битных серверах - придумали некие "костыли". Во-первых PAE (36 бит) режим адресации памяти (начиная помоему с Pentium Pro). Во вторых режим работы AWE для серверных ОС.
 
Грубо говоря работа с памятью через окно. Когда нужен следующий фрагмент памяти - сдвигаем окно и работаем с ним. Поэтому они и могут адресовать такое количество.
 
Но AWE требует поддержки от приложений. Т.е. грубо говоря само приложение должно это уметь. Понятно что такие монстры как MS SQL, MS Exchange это могут, но их единицы.  
 
Все это надо учитывать при планировании больших объемов на 32 битных системах. Поэтому сейчас и идет переход на 64 битные системы.

Всего записей: 478 | Зарегистр. 09-04-2008 | Отправлено: 05:39 09-11-2008 | Исправлено: L38Crow, 05:40 09-11-2008
FuzzyLogic



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eEye
Во-первых x86 это 32-bit и заявленная поддержка памяти должна работать и для 32 и для 64 битных версии соотв. версии сервера. Так что вполне можно пользоваться 32-битной версией софтины.
 
Далее надо определиться как будут использоваться те самые 8GB памяти. Они нужны одному приложению или нескольким? Вы упомянули проблемы с разными софтинами под 64-бит, учитывайте то, что 32-битные приложения прекрасно работают и под 64-битными осями по большей части (если только это не драйвера или что-то подобное) единственный момент одно конкретное 32 битное приложение не сможет забрать себе больше 4GB если оно не поддерживает AWE. Но в тоже время это совсем не мешает поделить пресловутые 8GB скажем между четырьмя приложениями по 2GB каждому и это будет работать как под 32 так и под 64 битной осью.
Резюме:  
1. под 32 или под 64битной ОС можно запускать 32битные приложения.  
2. Естественно что 64-битные приложения можно запускать только под 64битной осью
3. Только 64-битное или 32-битное с поддержкой AWE приложение может забрать под себя одного больше 4GB (это к вопросу зачем нужно 8GB)
4. В любом случае приложения поделят между собой всю память доступную операционной системе

Всего записей: 1920 | Зарегистр. 27-07-2002 | Отправлено: 06:39 09-11-2008 | Исправлено: FuzzyLogic, 06:39 09-11-2008
L38Crow



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если надумаете использовать x32 версию сервера, то не забудьте включить AWE режим в boot.ini. На прошлой неделе был в одной компании, там был SQL Server 2000 на Win2k3 установлен и 8Гиг памяти. Поскольку AWE не было включено, то SQL не использовал больше 2 Гиг и база начала здорово тормозить.
 
Еще один ньюанс надо иметь ввиду. При включении AWE в менеджере задач (taskmanager) вы не увидите весь объем памяти который использует приложение (например SQL Server). Такая специфика. Поэтому используйте Performance Monitor.
 
Все это касается 32 битной ОС Windows 2003 Server. Для 64 битной все по другому конечно. Намного прозрачнее и удобнее.

Всего записей: 478 | Зарегистр. 09-04-2008 | Отправлено: 08:40 09-11-2008
eEye

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FuzzyLogic, спасибо, главное что вы объяснили, можно запускать много приложений и в сумме они наберут 8 гб, это мне и надо.
 
L38Crow, как включить AWE и нужен ли он если приложения будут до 1.5 гб потреблять, но в сумме все приложения наберут 8 гб и если нужно, то как включить? Я знаю только о включении PAE, а AWE должно программно поддерживаться, кажется.. ?

Всего записей: 32 | Зарегистр. 08-01-2008 | Отправлено: 22:17 09-11-2008
1976ANDREI

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Объём памяти для 32-битных систем свыше 4 GB поддерживается только на серверных машинах, где специальные методы адресации.

Всего записей: 365 | Зарегистр. 18-10-2007 | Отправлено: 19:41 06-12-2008
evgenb82

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
некропост
 
fix128 - поддержка памяти более 4 Гб в 32-разрядных Windows
 
 
Licensed Memory in 32-Bit Windows_Vista
PAE patch updated for Windows_8

Всего записей: 568 | Зарегистр. 01-08-2009 | Отправлено: 11:26 03-04-2014 | Исправлено: evgenb82, 11:27 03-04-2014
evgenb82

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
некропост второй.
 
Предыдущие две ссылки относились к системам Window$ Vista/7/8/8.1.
С тех пор вышли Window$ 10 и KB3033929 для Window$ 7 SP1, там всё аналогично.
А в fix128 были добавлены изменения для их поддержки.
Метод Vista...10 патчит ядро, а также загрузчик, чтобы загрузить модифицированное ядро без цифровой подписи Micro$oft.
 
Кроме того, для Window$ XP существует аналогичный трюк.
Windows_XP Ram Limit (форум)
Как я преодолевал предел 4Гб на Windows_XP 32бит
Методы разные, китайский вставляет JMP в проверку объема, можно и NOP вставлять, как на форуме, а можно и при проверке менять само сравниваемое значение (т.е. увеличив его, увеличиваем и доступный размер памяти) как на geektimes. Вместе с ядром патчится HAL, чтобы включить двойную буферизацию, т.к. не все драйверы и устройства умеют работать с памятью выше 4 Гб. В этом случае буферы памяти ввода-вывода драйвера размещаются ниже 4 Гб, а HAL потом самостоятельно копирует данные в/из этого буфера в память выше 4 Гб, если расположенная там программа запросила эти данные. Нормальный драйвер должен это делать без посредника HAL. Как вариант, используют HAL из XP SP1, эта версия Window$ поддерживала память более 4 Гб.
Вот здесь про эту буферизацию:
Windows_XP SP3 - Remove the 4GB physical address / RAM limit and use up to 64GB RAM using PAE
Загрузчик в случае XP не патчится.
В fix128 добавлен среверсированный китайский вариант, т.к. лишь к нему не было исходников. Теперь есть.
 
Ну и до кучи, для Server_2003 тоже есть способы.
Здесь, например, патчится само значение лимита памяти:
Windows_2003 Server Standard memory patch
HAL и загрузчик для 2003 не патчатся.
В fix128 с небольшими изменениями этот метод добавлен тоже.

Всего записей: 568 | Зарегистр. 01-08-2009 | Отправлено: 09:25 16-07-2015 | Исправлено: evgenb82, 09:27 16-07-2015
bomzzz



Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fix128v39.zip1,48 МБ (1 552 806 байт)
это удобный гуй просто, автоматически делающий все. у меня 36 битной адресации нет, все равно не проверить

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 07:42 13-08-2015
evgenb82

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
Не просто удобный гуй.  За основу взят PatchPae2, он вместе с исходником находится внутри SFX-архива. А потом поэтапно доработан для поддержки KB3033929, Window$ 10, XP, 2003, ещё к нему прилеплен мини-хелп для гиков командной строки и прочих пакетных файлов И этот модифицированный PatchPae2 завёрнут в гуй на VBS, да. На всякий случай - ссылка на [пока] обновляемую актуальную версию двумя постами выше лежит. И ещё этот гуй можно запускать в тихом режиме или в автоматическом режиме - для этого поддерживаются опции командной строки, например, -help.

Всего записей: 568 | Зарегистр. 01-08-2009 | Отправлено: 12:54 15-08-2015
ss661

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
новая версия на рутрэкере http://rutracker.org/forum/viewtopic.php?t=4694409&start=150
испытатели на Win Game edition http://game-edition.ru/pozhelaniya-i-predlozheniya/vklyuchenie-pae-v-ge/

Всего записей: 813 | Зарегистр. 23-02-2007 | Отправлено: 11:11 20-10-2015 | Исправлено: ss661, 11:17 20-10-2015
rsuan

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Опишу свои изыски и мысли на тему топика.
У меня физически 8Гб, WinXP 32bit видит меньше 3Гб. Задача стояла в использовании ОЗУ выше этих 3Гб для виртуальной памяти. Но с возможностью применения спящего режима.
 
Сначала установил PrimoCache, который кеширует системный диск и позволяет использовать невидимую память. Весь размер кеша расположил в невидимой памяти. Идея состояла в том, что PrimoCache будет кешировать файл подкачки, а значит обращения по чтению к файлу подкачки будут производиться не с диска, а переадресовываться к невидимой памяти. Т.е. в какой-то мере файл подкачки как бы находится в физической памяти, значит и вся виртуальная память в ней. А нам какая разница, какое распределение виртуальной памяти между видимой памятью и свопом, если своп находится тоже в ОЗУ, и скорость его столь же высокая? Но не так всё радужно:
- Использование одной только памяти при обращении к свопу касается только чтения из него, запись в своп всё равно происходят на диск.  
- Кеширование происходит не только файла подкачки, но и любых файлов с диска. При чтении/копировании больших объемов данных с диска, закешированный своп вытесняется этими данными, и операции чтения свопа вновь происходят с диска, пока своп вновь не закешируется.  
- И главный недостаток для меня: перед уходом в спящий режим кеш из невидимой памяти не сбрасывается на диск, и при выходе из спящего режима становится чистым и начинает вновь наполняться, т.е. операции чтения своп-файла происходят опять с диска. Об этом я писал здесь.
 
Потом обратился к идее сделать ram-диск, и на нём расположить файл подкачки. Установил Primo Ramdisk, при настройке невидимой памяти он мне сказал: "Если ПК может переходить в режим гибернации, НЕ размещать файл подкачки Windows на RAM-диске, использующем НП".
 
Затем стал рассматривать вариант разблокировки PAE. Про fix128 мне сказали: либо 4+ ГБ, либо спящий. Опять облом.
 
Думаю, поставленная задача могла бы быть технически решена, если бы существовала программа типа PrimoCache, которая кешировала ТОЛЬКО файл подкачки, могла использовать невидимую память, а вход в спящий режим производился через эту программу: нажимаешь кнопку например в трее, прога сначала скидывает кеш файла подкачки из невидимой памяти на диск, потом отправляет команду отправки в спящий режим.
 
 

Всего записей: 760 | Зарегистр. 22-07-2008 | Отправлено: 14:31 26-02-2017 | Исправлено: rsuan, 14:37 26-02-2017
Aleks78



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А зачем на XP столько памяти ?

----------
Кешбек на Али до 15%
Digma — лауреат премии pc magazine.

Всего записей: 19197 | Зарегистр. 18-12-2004 | Отправлено: 14:45 26-02-2017
bomzz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну он же написал для чего - для сервера

Всего записей: 3412 | Зарегистр. 29-03-2016 | Отправлено: 15:16 26-02-2017
urodliv



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzz

Цитата:
ну он же написал для чего - для сервера

Сервер на "хрюхе" и спящий режим?

----------
Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

Всего записей: 6684 | Зарегистр. 29-04-2009 | Отправлено: 15:28 26-02-2017
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Активные темы » Большой объём памяти в x86 windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru