4gb ram в windows xp sp2 - возможно ли?
7187
18
вроде по ссылкам потыкался - пишут нельзя увидеть все 4 гига. видно 3.25. ключ /PAE не помогает. копание в БИОСе в настройках памяти - тоже не помогает.

просто интересно, может еще какие способы есть?
whiplash
Как вариант - поставить SP3, обещали, что можно будет "увидеть" 4 гб)).
Но, как я понимаю, в любом случае часть памяти будет отведена под маппинг устройств.

П. С. Напомню, что почти все 32-приложения не могут использовать более 2 гб памяти (с определённой модификацией 3 гб).
RealWega
П. С. Напомню, что почти все 32-приложения не могут использовать более 2 гб памяти (с определённой модификацией 3 гб).
+500 править нада, тогда максимум 3 гига можно юзать
RealWega
п.9
НЕ ПОЧТИ, а абсолютно все... 32 бита - это именно 2 гига по адресации. Есть извращенные спопобы при программировании получить более 2 гигов для программы... но не для процесса:улыб:По теме топика - я не встречал еще, чтобы XP 32bit работала с 4 гигами.
whiplash
не так легко и материнку десктопную найти которая 4Гб памяти выдает.:улыб:хотя фтыкать можно - это точно. Следующий затык после 3.2 будет 3.6 Гб.

да и для XP чтобы больше 512 Мь памяти с толком использовалось надо много настроек менять всяких разных.
ViT
да и для XP чтобы больше 512 Мь памяти с толком использовалось надо много настроек менять всяких разных.
а можно с этого места поподробнее ?
ViT
материнку десктопную, которая выдает 4 гига? не совсем понял... у мну Intel DP35DP - она выдает?
Baal
можно поподобнее.

Если есть какое-либо приложение, которое требует много памяти - то конечно спец. тюнинга не надо. Т.к. памяти оно съест и будет жить и радоваться.

Но! Когда ожидается улучшение обычного user expirience от добавления памяти, то уже от 512 Мб начинается проблема... т.е. разницы 1.5Гб и 1 Гб как правило не заметно - т.е. окон открывается столько-же, если больше - то все видимо начинает тормозить. Сеть быстрее не работет, работа с переферией так-же.

Причина - заданные кеши для различных уровней.

Часть подробностей здесь

http://forums.microsoft.com/TechNet-RU/ShowPost.aspx?PostID=2197908&SiteID=40

Для Win2K3 (что частично подходит и для XP) очень хорошиий RedBook от IBM есть по тюнингу производительности на IBM eServer xSeries серверах - можно его посмотреть. Там в куче собрано все, что раскидано по сайту microsoft.com частями.
whiplash
про десктопные материнки - может ваша поддеживает, давно не тестировал, но очень часто натыкался на ситуацию - ставим win2k3 сервер и он ни в какую не видит больше чем 3.2 или 3.5 Гб... Чипсет не позволяет.

На своем ноутбуке сейчас такая-же проблем lenovo t60 - не отдает ни в каком режиме(даже если x64 поставить систему) больше чем 3Гб памяти.
Именно 3гб, ключевые слова: boot.ini и 3gb.
Разрешается доступ процесса к 3гб памяти (требуется модификация флага экзешника).
RealWega
п.9
Я и говорил про извращенные приемы програмирования работы с памятью.... там не только флаг надо модифицировать, насколько я помню.
RealWega
поставил SP3, но как 3.25Гб видела винда так и видит, и есть подозрения что реально использует 2Гб:хммм:
Да, вы правы. Чтобы процесс мог использовать больше чем 2Гб памяти он должен быть написан специальным образом. Т.е. обыкновенная программа malloc("3Gb") скажет - нет такой памяти в большинстве случаев.
TranceGate
поставьте 64bit систему и не тратьте время зря
Andre75
совет весьма спорный.

Т.к.

а. драйвера - бооольшая проблема для зоопарка устройств который существует (мобилы, фотики, сканеры и т.п.)

б. прироста производительности может не то что не быть, а будет деградация, связано с тем, что 64 битные инструкции вообщем-то в два раза длиннее и при неоптимизированном коде как правило наблюдается некоторое падение производительности.

ц. 32 битные приложения запускаются там в эмулиции и все равно для них не будет более 2Гб доступно.

далее, далее, далее.

ну а если это техновыпендреж - выидеть 4ГБ, то конечно можно и поставить.
Andre75
поставьте 64bit систему и не тратьте время зря
Вот таким вот советчикам лучше молчать в тряпочку.
Зайдите на Майкрософт и почитайте, если лень то все просто делается, в файл Boot.ini надо прописать параметр загрузки /pae и все будет в шоколаде. Поставил на 2003 8 гигов оперативы, хотя она изначально больше 3-х не видела.
Grave
> все просто делается, в файл Boot.ini надо прописать параметр загрузки /pae и все будет в шоколаде. Поставил на 2003 8 гигов оперативы, хотя она изначально больше 3-х не видела.

2003 и XP - это две большие разницы.
TranceGate
3.2 gb, 3.6 gb - это все зависит от мамки и от оборудования. Есть в современных мамках такой параметр типа "Enable Memory Remapping". Если его нет или он выключен, то все устройства (на мамке и подключенные через Pci / Agp / PciX) получают физические адреса в памяти, чтобы драйверы могли к ним доступаться, и обычно это происходит за пределами 3 Gb. Соотвественно мамка отдает операционной системе доступ к памяти вплоть до минимального адреса оборудования. А дальше это зависит от конктреного набора устройств, бывает, если выдернуть и поотключать все, что можно - будет видно 3.7 Gb, а если все повтыкать, то будет видно 3.4 Gb. Если же включить эту галочку, то BIOS переносит адресацию всего оборудования за пределы 4 Gb, и отдает системе 4 Gb. Но с 32-битными системами в таком случае зачастую возникают проблемы с видюхами (постоянное мерцание с частотой 5 сек, включение/отключение экрана).

Были еще какие-то проблемы с 32-битными системами при использовании в качестве сервера терминалов. Не помню уже, где я читал, но там что-то было про то, что какая-то часть системы получает в пользование 1 Gb, а остальное отдает под heap, из которой максимум по 2 Gb можно размечать. А сервер терминалов для сессий пользователей использует память из этого 1 Gb, и если пользователей много, все начинает загибаться, даже если у нас 16 Gb стоит... Как-то так.
netghost
Это механизм работы PAE в 32х битной системе.

/режим объяснения на пальцах on

Есть в системе non-paged kernel pool - это область памяти, которая никак и никогда не может быть выгружена из памяти в своп.

Вот эта штукенция отвечает за "нулевое кольцо", там живут серьезные драйвера(сетвые, диск жесткий, файловая система, фильтр драйвера файрволов и антивирус и прочая), а также лежат там разнообразные ручки-хэндлы и прочие заморочки от этих драйверов. Когда вот в этом нулевом кольце происходит серьезный сбой (как было в 95 -программа выполнила недопустимую операцию и будет закрыта) - вот тут и BSOD происходит. Когда у системы коначается non-paged pool и она его не может освободить, то система просто залипает и либо не реагирует ни на какие движения, хотя может еще пинговаться например, а может не пинговаться, но на экарне ничего сделать нельзя, даже Ctrl + Alt + Del ни чего не дают.

32 бита, теоретически при работе без PAE имеем реальные 4ГБ, которые делятся так: 2ГБ под ВСЕ процессы пользователя, 2ГБ под ВСЕ системные заморочки , в том числе и под этот non-paged pool. В случае включения PAE от этого-же non-paged pool сразу отрезается кусок для перенаправления адресов памяти больших, чем 4Гб, так чтобы оно было доступно процессам.

Таким образом у нас становится МЕНЬШЕ этого нон-пажед пула для работы системы, т.е. уже при наличии жесткой нагрузки на файловую систему, где есть антивирус - мы можем съесть весь пул и замедлится. А при наличии кучи приложений, которые по-немногу едят память у нас просто может не остаться возможного места для ее распределения(адресов в таблице не будет, для адресации памяти свыще 4Гб). Именно поэтому 32х битное приложение для работы с памятью больше чем 2Гб должно быть очень разумно написано, иначе память может быть, но исопльзовать ее не получится, т.к. таблицы адресации не хватило. (именно здесь зарыта проблема терминалов 32 бита с кучей памяти, т.к. куча мелких приложений, которые никто и не думал оптимизировать под такое количество памяти)

Дальше еще круче. Есть ключ 3GB (дополнительно к PAE) этот ключ позволяет определенно написаным приложениям получать доступ к 3Гб на один процесс в полу-простом режиме. НО! РЕально у нас есть только 4ГБ прямой памяти, таким образом ключ 3ГБ нам съедает системное пространство сразу в два раза с 2х ГБ до 1ГБ. И опа... тут ко всем предыдущим заморочкам еще добавляется такая милость, что более 16ГБ памяти не может быть с ключем 3ГБ адресовано вообще. Т.е. если вдруг вам нужно, чтобы процесс съедал по 3Гб, то больше 16Гб на сервере нет и не будет...

А еще есть технология AWE - спец. технология доступа для памяти большого объема еще одним хитровыподвернным способом.

Итого

1. Для ОБЫЧНЫХ приложений больше чем 2Гб памяти ВООБЩЕ недоступно, практически никогда.

2. Только специально написанное приложение может есть 3Гб на процесс напрямик(Excnahge например), либо через AWE использовать до теоретически 32Гб включительно (SQL Server)

3. Иметь на машине больше чем 4Гб памяти - надо четко представлять себе зачем и почему, т.к. производительность расти не будет... будет только усложнятся сопровождение и возможно даже будет ЗАМДЛЕНИЕ системы.

4. Использовать хотя бы 2-3ГБ на XP так, чтобы это было визуально заметно и полезно - как правило необходимо переконфигурировать размеры кешей под IO операции, под сетевые операции, изменить размер кучи для десктопа (чтобы можно было открывать много-много окон например). Так как в XP таковые кеши по умолчанию оптимально работают до 512 Мб или чуть больше того. (В XP если система уж силдно автораном не забита, разницы между 1Гб и 1.5Гб не заметно. В Vista вплоть до 4Гб есть оптимизация кешей, также несколько зависит от редакции висты)

5. ВИДИМОСТЬ 4Гб в Биос, а так-же во вкладке система ЕЩЕ не дает возможности их использовать везде и всюду. Если вы точно не знаете, что эти 4Гб вам нужны и могут быть утилизированы, то кроме техно-понта выгода представляется сомнительной, хотя и интересной.

Подробности здесь -
PAE, AWE и проче ее из Windows Server 2000,2003
http://support.microsoft.com/kb/283037/ru

XP 32 bit vs 64 bit по памяти
http://support.microsoft.com/kb/294418

Как писать под 4Гб и почему как правило больше 2Гб подряд выделить памяти не получится никогда.

http://msdn.microsoft.com/en-us/library/bb613473(VS.85).aspx

4Гб, PAE и материнские платы...
http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx

Рахличные ограничения совместного использования ключа 3Гб и PAE на различных видах ОС
http://support.microsoft.com/kb/291988

Ошибка нет памяти, когда памяти ведрами, а открыть новую программу даже малеьнкую невозможно -
http://support.microsoft.com/kb/126962


P.S. Мое имхо - Единственное разумное использование 4Гб на XP 32 бита, если крутить виртуалки через Virtual Server - оное более менее может утилизировать возможности большой памяти. НО! Получить больше чем 3,5 Гб на десктопной материнке далеко не на всякой можно.