Call of Duty: Black Ops 2



Windows не видит больше 3ГБ памяти.

Что это и как исправить. Кратко и не вдаваясь сильно в технические подробности.RSS-лента темы
  1. Оффлайн

    Unsert

    Пользователь

    Сообщений: 1625

    Симпатий: 211

    Трофеев: 18

    Поскольку вопросы, связанные с этим возникают довольно часто, особенно в связи с выходом Battlefield3, требующего 4ГБ для нормальных текстур, объясняю, что это за проблема:
    Касается она только 32х битных Windows, как XP, так и Vista, и Windows 7.
    Любой запущенный процесс, а точнее, его копия, целиком хранится в оперативной памяти. Подробно об этом тут.
    Но программа хранится не в самих планках оперативы, а в виртуальной памяти. Вся виртуальная память разделена на ячейки, каждая из которых имеет свой адрес. Два запущенных процесса делят всю оперативную память между собой, и каждой выделяется своя виртуальная.
    Теперь к сути:
    32х битная ОС способна заадресовать 3,25ГБ оперативной памяти, то есть, отдать процессу максимум 3,25 ГБ виртуальной памяти. 64х битная - вплоть до 192 на 7ке и 128 на висте. Операционка Windows Embedded Standard 7 в 64х битном исполнении также может использовать 192ГБ.
    Патчи:
    Существуют патчи, которые способны расширить количество видимой и рабочей оперативной памяти. Но только оперативной!
    Все они основаны на принципе Physical Address Extension (Расширение физических адресов). Подробно тут.
    Но важно помнить, что включив этот режим, вы сможете просто разделять оперативную память больше 4х ГБ на кусочки, но размер каждого такого "кусочка" все равно ограничен 3,25 ГБ.
    К примеру, у вас компьютер с 8 ГБ памяти, два приложения по 3 ГБ.
    Без PAE: первое приложение заберет себе первые 3 ГБ. Остальную память система банально не увидит.
    Поэтому второму приложению ничего не останется, как довольствоваться оставшимися 0,25 ГБ и по чуть - чуть откусывать у неактивного приложения память.
    С PAE: Первое приложение заберет первые 3ГБ, второе - вторые 3ГБ. И все счастливы...
    А что если приложение занимает 4 и более ГБ памяти?
    В этом случае, что с PAE, что без него, занять все 4 ГБ целиком оно не сможет. Выделить виртуальное пространство размером более 3,25 ГБ 32хбитная система не может. Никак. Ни с какими патчами.
    Вообще это не критично для мелких приложений: даже в большом количестве, они вряд - ли затребуют более 3,25 в сумме. 10 приложений по 100МБ просто разделят все 3 ГБ между собой.
    А вот уже 20 таких приложений без PAE будут конкретно тупить. Оставшуюся кучу памяти система не видит и выделить не может.
    ------------
    Вопросы:
    Вопрос 1. Почему говорят, что 4 ГБ не поддерживает только XP, а виста и 7ка работают на них?
    Ответ: В основном потому, что у XP поддержка 64 битов появилась сравнительно недавно, раньше ее просто не было. А виста и 7ка выпустились уже с 64 битными версиями, которые большинство пользователей и поставило. Проще говоря - работу с 4 ГБ считают не заслугой 64битов, а версий операционки.
    Вопрос 2. Почему часто считают, что патч действует и система стала работать быстрее?
    Ответ: Потому что на сейчас нет таких (или очень мало) приложений, которые требуют больше 3 Гб виртуальной памяти. Пользователи поназапускают разных программ, в сумме больше 4 ГБ. Ужиться вместе они не смогут в 3,25 объеме.
    Включив патч, система разобьет все количество памяти на небольшие кусочки и отдаст каждому. Каждая программа получит свой кусок и будет работать как надо.
    Вопрос 3. Почему большие серверные системы спокойно работаю на 32х битах?
    Ответ: Потому что у серверных ОС несколько другая система адресации, к примеру Windows Server 2003 with Service Pack 2 (SP2) в версии Datacenter Edition способен использовать аж 64ГБ виртуальной памяти.
    Вопрос 4. Как включить PAE?
    Ответ:
    donfranz нравится это сообщение.
    Сообщение отредактировал Unsert 7 января 2012 - 08:11
    7 января 2012 - 08:10 / #1
  2. Оффлайн

    donfranz

    Пользователь

    Сообщений: 8046

    Симпатий: 343

    Трофеев: 27

    Спасибо! Полезная инфа и понятным языком, без тягомотины!
    7 января 2012 - 09:38 / #2

© Modern-Warfare.ru 2013.