Остро встал вопрос об установке большого объёма памяти, 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 и работать с таким объёмом озу будет только специальный софт?
А если прав, то мои 8 гб будут нормально видны для софта и работать с ним или они видны из-за PAE и работать с таким объёмом озу будет только специальный софт?
Если софтина не поддерживает 36-битную адресацию, то увидит не более 4Гб (например, Virtual PC (тот что свернутый на скрине) видит только 3796 мегабайт) сама по себе (аналогично 32-битным софтинам в 64-разрядной среде). Однако, несколько таких софтин одновременно вполне смогут забить всю память, судя по наблюдениям и теории.
Если софтина не поддерживает 36-битную адресацию, то увидит не более 4Гб .. сама по себе ... Однако, несколько таких софтин одновременно вполне смогут забить всю память, судя по наблюдениям и теории
Позвольте уточнить, если система 32 битная поддерживает (допустим) 10 гб и больше, то 1 процесс сможет получить доступ не более чем к 4 гб озу (погрешности опускаю), но при этом 10 разнообразных процессов смогут получить доступ к 40 гб в сумме (каждый по 4 гб), правильно я вас понял?
Цитата:
(например, Virtual PC (тот что свернутый на скрине)
Немного не понял, на скриншоте система запущена через виртуальную машину (например как VMware) или что-то ещё? Уточняю, т.к. не видно по бокам бордюров приложения "виртуальной машины".
Цитата:
аналогично 32-битным софтинам в 64-разрядной среде
Если я правильно понял, в 64 разрядной среде свободно запускаются софтины под 32 разрядную систему, но единственное отличие, она увидит до 4 гб озу, а софтина под 64 разрядную систему увидит намного больше (несколько терабайт кажется), при этом на функционал софтины кроме памяти больше ничего не влияет в данной ситуации? (всегда думал, что разрядность софта под которую он сделан, расчитано на работу с х86 и х64 разрядностью процессоров)
Advanced member
Статус: Не в сети Регистрация: 27.02.2007 Откуда: Москва Фото: 56
eEye Извиняюсь за постинг заведомо ложной информации, вчера был не в совсем адекватном состоянии, посему говорил о PAE с точки зрения юниксоида.
В общем, PAE-это поддержка 36-битной адресации со стороны ОС. Но кроме PAE для полноценной работы с большими объемами памяти еще нужно AWE (Address Windowing Extension), т.е. поддержка со стороны софта. Софт, не собранный с ключом /LARGEADDRESSAWARE будет ограничен нижними 4Гб оперативной памяти, и использовать все что выше них в Windows смогут только приложения, скомпилированные с поддержкой AWE (например, большинство популярных СУБД). Это ограничение легко можно обойти костыльным образом, если создать в верхней памяти RAM-диск с помощью любой AWE-совместимой программы, и разместить на нем файл подкачки соответствующего размера.
eEye писал(а):
Немного не понял, на скриншоте система запущена через виртуальную машину (например как VMware) или что-то ещё? Уточняю, т.к. не видно по бокам бордюров приложения "виртуальной машины".
На скриншоте в таскбаре есть свернутая виртуальная машина с 2003-ей виндой. Выделить больше 3.8Гб памяти Virtual PC не позволил, поскольку он не умеет AWE.
eEye писал(а):
в 64 разрядной среде свободно запускаются софтины под 32 разрядную систему
Да, но только в юзерспейсе. Добавлено спустя 16 минут, 58 секунд
eEye писал(а):
х86 и х64 разрядностью процессоров
х86 и х86-64 это не разрядность, а архитектуры. х86-64-это частный случай х86.
На скриншоте в таскбаре есть свернутая виртуальная машина с 2003-ей виндой. Выделить больше 3.8Гб памяти Virtual PC не позволил, поскольку он не умеет AWE.
Последний вопрос, без поддержки AWE я могу запускать множество программ 32 битных под 32 битной системой, но каждая из программ увидит не более 3.8 гб (ну или 4, не суть), при этом если я запущу две такие, то в сумме они уже займут 7.6 гб (или 8, опять не суть), без каких либо проблем или все-таки потребуется создавать в верхней памяти RAM-диск с помощью любой AWE-совместимой программы, и разместить на нем файл подкачки соответствующего размера ?
Advanced member
Статус: Не в сети Регистрация: 27.02.2007 Откуда: Москва Фото: 56
eEye писал(а):
или все-таки потребуется создавать в верхней памяти RAM-диск с помощью любой AWE-совместимой программы, и разместить на нем файл подкачки соответствующего размера ?
Именно так и придется делать, если софт не самописный конечно. Если писали сами, то можно пересобрать.
w32sobig, HertZ, от ваших сообщений появились вопросы. Допустим установлена система 32 битная которая смогла увидить 8 гб или любой другой объём болших 4 гб:
1) Если софт не самописный требуется создать в верней памяти RAM-диск с помошью любой AWE-совместимой программы:
a) специальной для такого дела программы или
б) Любой программы которая работает с поддержкой AWE? (фтп, мирк сервер или ещё что банальное)
2) Размещая файл подкачки соотвествующего размера, я должен создать 4 гб файл подкачки, с учетом того что всего 8 гб (8 гб озу - 4 гб свобожно видимых озу = 4 гб на файл подкачки), верно?
3) Если пункт 2 верен, то что тогда делать со стандартным виндоуским файлом подкачки, который обычно задается такого же размера сколько памяти в системе (кажется создается файл на системной диске pagefile.sys. Другими словами, я не понимаю различия виндоусовского файла подкачки от создаваемого через софт(с AWE) файла подкачки.
4) Когда всё будет создано, программы будут одинакого работать что от 4 гб озу, что от оставшихся 4 гб из которых будет создан файл подкачки или где-то будет хуже/медлее/лучше/быстрее работать процесс/приложение? Другими словами это будет тоже самое что 4 + 4 гб оперативной памяти, но в изащренной форме через какой-то файл подкачки или это дополнительный способ который позволяет добавить еще озу помимо стандартных 4 гб, но со своими минусами и косяками?
------
Сразу спрошу, возможно ли описать процесс создания этого файл подкачки, работы с ним, т.е. азам? (p.s. Ссылок на кучу литературы не очень хочется видеть, в кратце, а что не пойму, погуглю)
2) Размещая файл подкачки соотвествующего размера, я должен создать 4 гб файл подкачки, с учетом того что всего 8 гб (8 гб озу - 4 гб свобожно видимых озу = 4 гб на файл подкачки), верно?
В целом верно, но можно выключить PAE и создать диск в "Unmanaged" памяти, которую система не увидит. Так пожалуй даже проще и правильнее...
eEye писал(а):
3) Если пункт 2 верен, то что тогда делать со стандартным виндоуским файлом подкачки, который обычно задается такого же размера сколько памяти в системе (кажется создается файл на системной диске pagefile.sys. Другими словами, я не понимаю различия виндоусовского файла подкачки от создаваемого через софт(с AWE) файла подкачки.
Можно уменьшить, можно убрать совсем (некоторые делают именно так, но повторять за ними не рекомендую)... Зависит от того, насколько велики потребности в памяти.
eEye писал(а):
4) Когда всё будет создано, программы будут одинакого работать что от 4 гб озу, что от оставшихся 4 гб из которых будет создан файл подкачки или где-то будет хуже/медлее/лучше/быстрее работать процесс/приложение? Другими словами это будет тоже самое что 4 + 4 гб оперативной памяти, но в изащренной форме через какой-то файл подкачки или это дополнительный способ который позволяет добавить еще озу помимо стандартных 4 гб, но со своими минусами и косяками?
Будет работать, но медленнее чем нормальное AWE-приложение. Обычный свопинг с той лишь разницей, что запись в файл подкачки происходит со пропускной способностью шины памяти, ну и время доступа к нему соответствующее.
eEye писал(а):
Сразу спрошу, возможно ли описать процесс создания этого файл подкачки, работы с ним, т.е. азам? (p.s. Ссылок на кучу литературы не очень хочется видеть, в кратце, а что не пойму, погуглю)
На эту тему есть весьма человеческие статьи в персональных страницах:
Не знаю, насколько большой это имеет смысл, правда. Не проще ли использовать 64-битную ОС? Или есть специализированный софт, который привязан к 32-битным платформам?
В целом верно, но можно выключить PAE и создать диск в "Unmanaged" памяти, которую система не увидит. Так пожалуй даже проще и правильнее...
То есть будет создан "диск" и отображается в "мой компьютер" будет, но является он памятью, а не куском венчестера? Если да, то непонятно зачем, если вы сказали, что система не увидит эту область. Что с ней тогда делать и как работать?
Цитата:
Можно уменьшить, можно убрать совсем (некоторые делают именно так, но повторять за ними не рекомендую)... Зависит от того, насколько велики потребности в памяти.
То есть вместо файла подкачки с винчестера будет использоваться файл подкачки от озу, но при этом я теряю 4 гб? (я понимаю подкачку и озу так: озу - это кеш в памяти, подачка - тоже кеш но от винчестера, который немного хуже).
Цитата:
Не знаю, насколько большой это имеет смысл, правда. Не проще ли использовать 64-битную ОС? Или есть специализированный софт, который привязан к 32-битным платформам?
Один софт отказывается работает на 64 битной и 64 этого софта не видел, а другая софтина работает, но по словам знакомого, очень тупит на 64 разрядной системе.
Advanced member
Статус: Не в сети Регистрация: 27.02.2007 Откуда: Москва Фото: 56
eEye писал(а):
То есть будет создан "диск" и отображается в "мой компьютер" будет, но является он памятью, а не куском венчестера?
Именно так.
eEye писал(а):
Если да, то непонятно зачем, если вы сказали, что система не увидит эту область. Что с ней тогда делать и как работать?
Разместить в ней файл подкачки, и все. Если программа попытается использовать больше памяти, чем ей доступно в области 0 .. 4Гб, то операционная система будет использовать виртуальный диск для свопинга. Кстати, еще рамдиск можно использовать для временных файлов и т.п., поскольку скорость работы огромная..
eEye писал(а):
То есть вместо файла подкачки с винчестера будет использоваться файл подкачки от озу, но при этом я теряю 4 гб?
Грубо говоря, да. На практике же разница в скорости свопинга между физическим жестким диском и виртуальным настолько велика (скорость чтения/записи в случае многоканальных решений может достигать 5 гигабайт в секунду), что это не будет большой трагедией.
eEye писал(а):
я понимаю подкачку и озу так: озу - это кеш в памяти, подачка - тоже кеш но от винчестера, который немного хуже
Операционная система использует виртуальную память, ее объем складывается из объема доступного физического ОЗУ, и объема файла подкачки, поскольку для прикладной программы нет никакой разницы между свопингом и выделением реальной памяти. Всю темную работу по выгрузке неиспользуемых страниц на диск, и выделению программе новой памяти, с последующей подменой этих страниц на старые (при необходимости) делает ОС, от прикладной программы этот механизм скрыт.
eEye писал(а):
Один софт отказывается работает на 64 битной и 64 этого софта не видел, а другая софтина работает, но по словам знакомого, очень тупит на 64 разрядной системе.
Понятно... Если программа не очень новая, то можно попробовать Wine 4 Windows. А вообще, не помешало бы попробовать поставить у себя на десктопе 64-битную систему, и проверить.
Кстати, еще рамдиск можно использовать для временных файлов и т.п., поскольку скорость работы огромная..
Например указать системе папку TEMP не по стандарту а "этот" винчестер?)
Цитата:
Грубо говоря, да. На практике же разница в скорости свопинга между физическим жестким диском и виртуальным настолько велика (скорость чтения/записи в случае многоканальных решений может достигать 5 гигабайт в секунду), что это не будет большой трагедией.
Понял что это намного лучше, использовать файл подкачки от ОЗУ, а не винчестера. Но не понял "что это не будет большой трагедией", это означает что при обычных приложениях, а не многоканальных (как БД например), разницы не видно, что в файле подкачки с винта, что с ОЗУ-винта ?
Advanced member
Статус: Не в сети Регистрация: 27.02.2007 Откуда: Москва Фото: 56
eEye писал(а):
Например указать системе папку TEMP не по стандарту а "этот" винчестер?)
Ага.
eEye писал(а):
Но не понял "что это не будет большой трагедией", это означает что при обычных приложениях, а не многоканальных (как БД например), разницы не видно, что в файле подкачки с винта, что с ОЗУ-винта ?
.. и что страницы в физической памяти. "Перемешиванием" страниц в памяти занимается ОС, а самой программе все равно что там внутри происходит.
Я понимаю что разницы нет как происходит "мешалка", но если нету разницы, использовать файл подкачки от винчестера или озу, зачем тогда это самое озу убивать под файл подкачки? Можно 4 "видимых" софту гб использовать по назначению, а на оставшиеся 4 гб поставить вмваре и в нём уже остальное доустановить, к примеру, тогда не будет потери.
Потому что скорость работы такой подкачки будет раз в 100 больше, чем на жестком диске. С почти нулевым временем позиционирования...
При работе обычных игровых серверов по 20-40 человек на каждом, это производительность будет заметна?
Цитата:
А тормозить не будет?
Не знаю, не пробовал. Сейчас придерживаюсь вашего варианта с созданием рам-диска.
p.s. Создал несколько таких тем в разных форумах и заметил разногласия:
здесь человек в начале писал "все 32х битные проги будут обращатся в 4х гигах, независимо сколько их", а в http://forum.ixbt.com/topic.cgi?id=7:34727#19 пишут "на сумму единственное ограничение - наличие оперативки и места в файле подкачки" и "Неверно. Каждое 32-битное приложение win32 может запросить до 2ГБ вирт.памяти. Соответственно, система будет выделять эту память до исчерпания предела вирт.памяти системы".
Вот теперь сижу и гадаю, будут приложения видить или нет все 8 гб.
Advanced member
Статус: Не в сети Регистрация: 27.02.2007 Откуда: Москва Фото: 56
eEye писал(а):
При работе обычных игровых серверов по 20-40 человек на каждом, это производительность будет заметна?
Рекомендую скачать драйвер, и сравнить хотя бы распаковки архивов на рам-диске и винте
eEye писал(а):
p.s. Создал несколько таких тем в разных форумах и заметил разногласия:
Разногласий с корректными ответами нет, это в принципе одно и то же, просто разными словами. Хотя при использовании PAE еще можно воспользоваться ключом /3GB, который заставит систему загружать ядро и драйверы за границу, невидимую для старых приложений, тем самым овободив для них еще немного памяти. Добавлено спустя 8 минут, 23 секунды
eEye писал(а):
все 32х битные проги будут обращатся в 4х гигах, независимо сколько их
Тут подразумевалась физическая память. А виртуальное адресное пространство действительно намного шире, о чем и говорилось в том топике на ixbt. Например при определенном упорстве даже на системе с 512 мегабайтами физической памяти виста сможет съесть раза в три-четыре, а то и больше виртуальной памяти. Правда, с какой скоростью работает виста с такими объемами оперативки из-за постоянной подкачки на тормозной HDD, думаю очевидно.
Тут подразумевалась физическая память. А виртуальное адресное пространство действительно намного шире, о чем и говорилось в том топике на ixbt.
Так в топике говорилось то что приложения увидят не более 2 гб в виртуальной памяти, а вы говорите что там наоборот адресное пространство шире, чем обычное.
А на графике показано, что занято 4.98 гигабайта оперативной памяти. Почему отожрано столько свопа, и свободно больше гигабайта памяти по графику, в то время как чуть ниже написано, что свободной памяти нет? Очень просто, свободной памяти ниже 4Гб и вправду нет, а все что в них не поместилось, ушло в своп. А все что выше 4Гб (0.98Гб) занято самой операционной системой, которая несмотря на происходящее весьма шустро работает. В такой ситуации программа, работающая через AWE, сможет зарезервировать для себя память и использовать ее по назначению (такая память является невыгружаемой, кстати), а не работающие с AWE программы ждут, пока операционная система выделит им нужную память, сбросив лишнее в своп.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения