Member
Статус: Не в сети Регистрация: 01.01.2005 Откуда: Москва Фото: 2
Обсуждаем проблемы и возможность по установке и использованию 4GB оперативной памяти в операционных системах Windows XP x86, x64 & Windows Vista 32-64bit.
К слову о трёх планках памяти: Технология Flex Memory — позволяет осуществлять двухканальную адресацию памяти даже при неравномерном заполнении слотов, относящихся к разным каналам: чередующаяся адресация, которая помогает ускорить обычный доступ в память, выполняется для объема памяти, равного удвоенному объему меньшего из модулей(пар модулей), а остаток большего из модулей(пар модулей) адресуется линейно. Таким образом, для полноскоростного двухканального доступа к [части] памяти теперь не требуется соблюдать суммарное равенство объемов в каждом из каналов. Отредактировано куратором: meloman_1981. Дата: 26.12.2008 15:53
Advanced member
Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
GlobalMemoryStatusEx
Чтоб далеко не ходить ....
Цитата:
Решение проблемы с вылетами Сталкера на Vista x86 и x64 НА МАКСИМАЛЬНЫХ НАСТРОЙКАХ.
Итак имеется Игра, GeForce 8800, Windows Vista Business 64 bit, 2 GB оперативной памяти, 3 GB своп. Настройки - все ползунки на максимум, кроме антиалиасинга, потому что не работает. Запуск игры, работа в течение 5-10 минут потом спонтанный вылет на рабочий стол из игры, при нажатии Esc или при попытке записи. Знакомые многим симптомы. Причина вылетов банальна - в логах игры out of memory, что означает недостаточно памяти. Напомню, у меня общий объем доступной Windows памяти целых 5 GB (2 GB + 3 GB). Приложение завершается аварийно, как только объем используемой операционной системой памяти становится равным ровно 2 GB. Попытка приложения запросить чуть больше - здравствуй рабочий стол. Не знаю, какой патч там пишут разработчики, наверное пытаются уменьшить объем используемой приложением памяти, скорее всего поможет не всем, потому что проблема ОБЩЕГО ОБЪЕМА 2 GB все равно останется. XR_3DA.exe (запускаемый файл Сталкера) 32 битное и собрано оно без флага линковщика /LARGEADDRESSAWARE. Этот волшебный флаг (хинт разработчикам, если они читают этот пост) позволяет 32 битным приложениям адресовать не 2 GB, а 4 GB на 64 разрядной версии Windows и 3 GB на 32 разрядной версии Windows (если 32 битная операционная система запущена с ключом /3GB). Короче разработчики о флаге /LARGEADDRESSAWARE не догадываются и мы имеем ограничение на объем памяти 2 GB. Можно пересобрать приложение с этим флагом, а можно в текущем exe установить этот флаг с помощью утилиты editbin.exe, которая входит в состав Microsoft Visual Studio 2005.
Итак решение проблемы вылетов: 1) патчим XR_3DA.exe файл, чтобы он мог адресовать больше чем 2 GB: editbin.exe /LARGEADDRESSAWARE editbin.exe 2) Для 32 битных Windows XP в boot.ini прописать ключ загрузки /3GB в boot.ini Для 32 бит Vista, выполнить команду с правами администратора: BCDEDIT /Set IncreaseUserVa 3072 и перезагрузится.
После этого 32-битному приложению с установленным флагом LARGEADDRESSAWARE будет доступно 3 GB. Подробнее про IncreaseUserVa описано здесь:
Собственно, об этом ключе компиляции asmfan уже упоминал в этой ветке ... но и тут не без проблем.
Цитата:
Итак, какое значение будет присвоено переменной wide_ptr после инициализации (код компилируется для x86)?
Ответ - 0xffffffff87654321! Очевидно, что проблема в расширении знака, однако это совсем не очевидно из данного отрывка кода. Чтобы результат получился верным, код нужно переписать вот так:
смысл в 4гигах - для пользователя без свопа практически всегда (вероятность загрузки всей памяти без спец ПО крайне мала), но лучше тогда все же использовать х64 систему и по возможности х64 проги (особенно игры - виртуальная память не будет ограничением). кстати что на 4гб что на 3гб на х32 системе не будет практически разницы - всё равно около 1гб сьедается под IO, где то больше, где то меньше.
А для разработчиков - они должны сами заботиться о потребностях производимого ПО и использовать LARGEADDRESSAWARE если это действительно может быть нужно.
Advanced member
Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
asmfan, температура в C2D считается от предельной температуры Tjunction. И по битам конфигурации и 'вообще' все ошибочно считают ее в 85 градусов. Изначально на мобильных процессорах было 100 градусов. Какая цифра верная? Проверь сам - выставь на процессоре самую-самую минимальную частоту и минимальное напряжение и посмотри температуру в режиме простоя. Те программы, которые считают '85', покажут, что процессор имеет температуру ниже комнатной. Бред? Нет бреда, число неверное. На C2D измеритель остался прежний, с мобильных процессоров. Т.е. Tj=100, а не 85. Отсюда и разница в 15 градусов. Когда я проверял, то при Tj=85 показал температуру на 10 градусов ниже температуры воды СВО. При Tj=100 показал - на 5 градусов выше воды. Если учесть, что процессор даже с минимальными напряжением/частотой все-же греется, значит цифра в 5 градусов перегрева где-то верная.
Member
Статус: Не в сети Регистрация: 01.06.2003 Откуда: Pskov
14mikle
14mikle писал(а):
32 - битные о.с. 3гб (в том числе и виста)
Win XP SP2 - да ,увидит меньше 4-х
Win XP SP1 - с ключем /PAE увидит все 4Гб, вот только нормальные драйвера под видео придется искать Так же с этим ключем увидят все 4 Гб следующие 32-х битные операционки:
2000 Advanced Server.....................8 GB
2000 Datacenter Server..................32 GB
Server 2003 Enterprise Edition..........32 GB
Server 2003 Datacenter Edition..........64 GB
Главное еще в биосе не забыть включить ремаппинг (до сих пор не на всех мамках он еще присутствует).
Member
Статус: Не в сети Регистрация: 15.02.2007 Откуда: Москва
У меня проблема мать видит только 3008МБ из 4ГБ разве это нормально? Я понимаю что винда может не видеть все 4ГБ но что бы мать ее не всю видела. Память у меня Patriot PDC24G6400ELK. Мать - ASUS P5B Deluxe.
У меня тоже 4 гига PC 6400 и мать P5B видит только 3008. И к тому же после установки дополнительных 2 планок по 1 Гб Trancend (было 2 * 1 Гб Patriot), не могу разогнать проц до значений, которые раньше были доступны (комп просто не загружается, приходится сбрасывать биос на default). Хотя, когда вынимаю Patriot и оставлял Trancend сё гонится нормально.
Member
Статус: Не в сети Регистрация: 01.06.2003 Откуда: Pskov
VHKAlexF80
А ремаппинг в биосе включен ? (в настройках чипсета)
Похоже, что нет.
Если так важно, чтобы биос писал про 4Гб, советую включить.
Правда после его включения на некоторых мамках в винде (WinXP SP2) станет доступно только 2Гб.
VHK писал(а):
У меня проблема мать видит только 3008МБ из 4ГБ разве это нормально? Я понимаю что винда может не видеть все 4ГБ но что бы мать ее не всю видела.
Все она прекрасно видит. Нужно только зайти в System Information на первой вкладке биоса, чтобы в этом убедиться.
У меня сейчас нет этой мамки под рукой, но там должно быть написано, сколько памяти установлено, а сколько из нее реально доступно операционке.
а в Linux'е 4 гб будет использовать под приложения?
По умолчанию 1Гб/3Гб, т.е. 1Гб адресное пространство ядра, 3Гб приложений, но соотношение может меняться в зависимости от конфигурации ядра. С 64-битном ядром для 64-битных приложений естественно 4 гб не проблема, 32-битные работают вроде по старой схеме 1/3.
Прошу помоч мне разобраться с вопросом: я собираюсь покупать новый компьютер, хочу поставить в него 4 гигобайта оперативной памяти- 4 планки по 1гб 800мгц. Но я слышал что в среде 32 битной виндовс хр все 4 гб работать не будут, а будут только 2. Правда ли это? И есть ли способ заставить понимать винду все 4 гб, не только видеть но и работать со всей памятью?
Заранее спасибо.
Member
Статус: Не в сети Регистрация: 08.12.2005 Откуда: Smolensk
Человек2007 писал(а):
И есть ли способ заставить понимать винду все 4 гб, не только видеть но и работать со всей памятью?
Под один процесс (32 битный) всегда будет выделятся не более 2 Гб ОЗУ ...
Человек2007 писал(а):
. Но я слышал что в среде 32 битной виндовс хр все 4 гб работать не будут, а будут только 2.
Будут... (не забыть только включиьт реммепинг в биосе)
_________________ Вам может показаться, что я повторяюсь, но я буду распоряжаться вашими жизнями, как мне вздумается. Постарайтесь этого не забывать...
|Клан Дедов|
Сейчас этот форум просматривают: Speede и гости: 31
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения