Windows Vista: прирост производительности на 8 Гбайт ОЗУИсточник: winline Дмитрий Чеканов
Если посмотреть на историю персональных компьютеров, то оперативная память (ОЗУ, RAM) была ценным комплектующим, даже подчас роскошным. Всего несколько лет назад даже нельзя было себе представить о достижении объёма 4 Гбайт под 32-битной операционной системой. Впрочем, были времена, когда 640 кбайт было достаточно для каждого. Времена меняются. Сегодня память DDR2 дешёвая, как никогда, и оснащение компьютера 8 Гбайт памяти обойдётся всего примерно в $200. Преимущество от 8 Гбайт оперативной памяти заключается в менее частом доступе ОС к жёсткому диску, в результате чего Vista будет работать ощутимо быстрее. Однако в BIOS и операционной системе нужно сделать несколько настроек, только тогда система сможет использовать большой объём памяти. У Vista 64 по-прежнему есть некоторые сложности, и не все из них связаны с отсутствием драйверов. По крайней мере, самые стандартные приложения работают без проблем. С другой стороны, ни одна из современных программ и близко не приблизилась к тому, чтобы использовать подобный объём памяти. Большинство пользователей недоумевают, установив в систему 4 Гбайт памяти. Дело в том, что BIOS и Windows распознают только 3 Гбайт из них. Это не ошибка и не аппаратный сбой. Объяснение очень простое. 32-битные системы могут адресовать до 4 Гбайт памяти. Кроме того, память требуется для многих встроенных контроллеров и карт расширения. Она называется "Memory Mapped IO" (MMIO). Поскольку эта память должна лежать в пределах 4 Гбайт, она вычитается из установленной и доступной памяти. Благодаря технологии перераспределения памяти можно перенести системную память таким образом, чтобы можно было воспользоваться полными 4 Гбайт. Но проблема в том, что эта функция была отключена в Windows Vista из-за проблем совместимости. Чтобы использовать всю оперативную память необходимо перейти на 64-битную версию Windows Vista. В нашей статье мы поговорим об использовании памяти под 32- и 64-битными версиями Windows Vista и проанализируем, как операционная система ведёт себя с разными объёмами памяти. Аппаратная конфигурацияДля использования 8 Гбайт памяти кроме 64-битной операционной системы потребуется и соответствующее "железо". Процессор и чипсет должны поддерживать 64-битные вычисления и адресовать не меньше 8 Гбайт памяти. Все чипсеты Intel, начиная с P965, удовлетворяют этому критерию, как и все процессоры Core 2, включая Pentium Dual Core и Celeron E1x00. Материнская плата должна поддерживать функцию "Memory remapping". На некоторых материнских платах эта функция включается/выключается в BIOS. Однако подменю, где располагается эта функция, может меняться от одного BIOS к другому. В некоторых случаях функция активируется в подменю других опций CPU. В общем, по этому вопросу лучше обратиться к руководству материнской платы. Что касается лагеря AMD, то все процессоры для Socket F, 939, 940, AM2 и AM2+ обеспечивают поддержку 64-битных вычислений и 64-битной адресации памяти. Здесь чипсет важной роли не играет, поскольку контроллер памяти встроен в процессор. Поддерживаемый объём памяти: Windows Vista и Windows XPНезависимо от версии Windows, все 32-битные системы ограничены максимумом в 4 Гбайт ОЗУ. Единственным исключением являются версии Starter Edition, которые используются в странах третьего мира. Ограничение памяти под Windows Vista: 32-битная 64-битная Есть только одна 64-битная версия Windows XP, которая по функциям идентична Windows XP Professional. С технической перспективы она построена на ядре Windows 2003 Server (Version 5.2). Ограничение памяти под Windows XP: Поддерживаемый объём памяти: серверные ОССерверные операционные системы, построенные на технологии NT, уже многие годы могут поддерживать и больший объём памяти, чем 4 Гбайт, благодаря PAE (Physical Address Extension). Проблемы совместимости, от которых страдала Windows XP, в серверной сфере не существуют, поскольку ассортимент устройств и драйверов здесь намного меньше. Да и производители более трепетно относятся к валидации своих драйверов, чем в среде настольных ПК. Ограничение памяти под Windows Server 2008: После начального выхода Windows Server 2003 был расширен до версии R2. Кроме того, для оригинальной версии доступен пакет обновления Service Pack 2, который увеличивает поддерживаемый объём памяти. Поэтому в следующей таблице приведены разные версии серверной ОС. Ограничение памяти под Windows Server 2003: Дополнительная память, используемая WindowsПри резервировании памяти Windows Vista исходит из объёма ОЗУ, установленного на компьютере. В отличие от предыдущих версий, Vista автоматически использует больший объём памяти для системы, если она доступна. В итоге в файл подкачки на медленный жёсткий диск записывается меньше информации, а система работает ощутимо быстрее. На следующей диаграмме показано, как Windows Vista резервирует больше памяти на системе, где установлен больший объём ОЗУ. Мы можем видеть, что 64-битные версии используют заметно больше памяти. Опять же, объяснение очень простое. Все переменные теперь уже не 32-битные, а 64-битные. Обычно это увеличивает объём приложений на 20-40%, что приводит и к соответствующему росту объёма занимаемой памяти. На файловые форматы, такие как музыка или видео, это не влияет. Итог таков, что устанавливать 64-битную версию Vista, чтобы лучше использовать 4 Гбайт памяти, смысла не имеет, пусть даже 32-битная версия распознаёт только 3,5 Гбайт. Проблема кроется в том, что вы получите отсутствующую памяти, однако сразу же её потеряете по той причине, что 64-битная версия требует для себя больше памяти. Так что переход на 64 бита актуален только при памяти большего объёма. Как отключение файла подкачки влияет на производительность?Поскольку подкачка файлов в область виртуальной памяти (файл подкачки, swap) на жёстком диске ощутимо влияет на производительность, нам было очень интересно посмотреть, что произойдёт, если мы полностью отключим файл подкачки. Windows. Microsoft не рекомендует это делать, что говорится в следующем сообщении. Нас это сообщение не испугало. Что интересно, мы не смогли удалить файл pagefile.sys даже когда Windows больше его не использовала. Чтобы на него не уходило место на жёстком диске, мы рекомендуем до отключения выставить минимально возможный размер (16 Мбайт). Опять же, мы провели тесты с памятью объёмом от 8 Гбайт до 512 Мбайт. Если на конфигурации с 8 Гбайт памяти мы без проблем смогли работать без файла подкачки, с меньшими объёмами ситуация быстро становилась критической. С 8 Гбайт памяти и без файла подкачки система чувствовала себя хорошо. Даже в некоторых "тяжёлых" сценариях, например, редактирование файлов в Photoshop CS3 суммарным объёмом 3 Гбайт, система оставалась очень отзывчивой и быстрой, так ни разу и не обратившись к файлу подкачки. Если объём памяти снижен до 2 Гбайт, то приложения начинают сразу же "вылетать", как только память в системе кончается и Windows не может сохранить информацию в виртуальную память в файле подкачки. Ситуация становится особенно критичной, если нехватка памяти затрагивает один из системных компонентов Windows. Это может быстро привести к отключению интерфейса Windows Aero из-за краха графического драйвера. Помогает только перезагрузка системы. Если же вы отключите файл подкачки при установленных 512 Мбайт памяти, то вы не сможете открывать даже мелкие приложения Windows, такие как "Блокнот". Да и через некоторое время система сама "вылетает", даже если вы не будете ничего делать. Проблема с 32-битными приложениямиДаже при использовании 64-битной версии Windows избавиться от наследия прошлого не получится. На сегодняшний момент "родных" 64-битных приложений очень мало, то есть большинство современных программ - это по-прежнему 32-битные версии. Чтобы выполнять эти приложения, Microsoft реализовала подсистему Windows-on-Windows 64 bit, также известную как WoW64. По своей сути WoW64 - это эмулятор 32-битных приложений, который состоит из трёх DLL-файлов: WoW64.dll, WoW64win.dll и WoW64cpu.dll. Поскольку приложения работают в эмулированном окружении, то их производительность сложно оценивать объективно. Многие приложения работают медленнее, чем под "родной" 32-битной системой. Microsoft указывает, что быстрее могут работать программы, нагружающие подсистему памяти. В любом случае, наши тесты показали незначительную разницу в производительности. Ещё одна проблема 32-битных приложений заключается в максимальной области памяти, которую может адресовать каждый процесс, а именно 2 Гбайт. Это ограничение можно поднять до 4 Гбайт, используя специальные настройки. В итоге, даже если у вас установлено 8 Гбайт памяти или больше, каждое 32-битное приложение сможет использовать максимум 4 Гбайт. Единственное преимущество, приложения будут хранить свои процедуры, которые в данный момент не используются, в памяти, а не в файле подкачки на жёстком диске, что производительность особо не увеличит. На приведённом скриншоте видно, что файлы подкачиваются напрямую в память до достижения порога 3 Гбайт. После этого Photoshop приходится записывать файлы на жёсткий диск. В результате нагрузка на CPU тоже уменьшается поскольку жёсткий диск намного медленнее оперативной памяти, и процессор просто ждёт поступления данных. "Родные" 64-битные приложения ориентированы на будущее, поскольку каждый процесс может адресовать до 8 Тбайт памяти. В любом случае, разработчикам придётся обновлять свои приложения. Простой перекомпиляции 32-битных приложений в 64-битный код недостаточно, поскольку при этом каждый процесс будет всё ещё ограничен 2 Гбайт. Проблемы с драйверамиПодсистема WoW64 ограничена так называемым пользовательским режимом, то есть приложениями, запускаемыми пользователем. Что же касается режима ядра, то там все программы должны быть в 64-битном формате. Поскольку все драйверы устройств требуют работы на уровне ядра, то 32-битные драйверы использовать не получится - даже если они написаны специально для Windows Vista. Кроме того, далеко не все драйверы устройств, которые Microsoft предлагает через Windows Update, доступны в 64-битном виде. Это включает и устройства, которые вы привыкли быстро подключать через USB. Проблем с драйверами могут, в частности, возникнуть с более экзотическими устройствами, такими как старые сканеры или COM-адаптеры, которые вы вообще, возможно, не сможете использовать под 64-битной Windows. В некоторых случаях драйверы требуются даже если вы не устанавливаете дополнительное "железо". Один из таких примеров - приложения, которые считывают данные CPU или памяти через SM-Bus. Если CPU-Z и Speedfan работали без проблем, нам пришлось отключить драйвер CoreTemp - хотя у него был заявлен 64-битный компонент. Проблемы могут возникнуть и с драйверами защиты от копирования, которые используют старые игры. С другой стороны, игры с логотипом "Games for Windows" будут работать безупречно. Отключение гибернацииЕсли в вашей системе установлен большой объём памяти, то мы рекомендуем проверить настройки гибернации Windows (Hibernate). При настройках по умолчанию на жёстком файле будет создан файл hiberfil.sys, в который будет сбрасываться содержимое всей оперативной памяти при активной гибернации и выключении компьютера. Другими словами, если ваша система оснащена 8 Гбайт памяти, вы будете терять определённую ёмкость на жёстком диске, даже если вы никогда не воспользуетесь этой функцией. Наконец, по мере того, как современные компьютеры оснащаются всё большими объёмами памяти, польза от функции гибернации становится всё более сомнительна. В конце концов, время записи 8 Гбайт данных на жёсткий диск во время выключения и считывания их во время запуска может занять больше времени, чем простой перезапуск Windows. Конечно, зависит от объёма памяти, установленного в системе. Если объём ОЗУ составляет всего 1 Гбайт, то такой объём и будет записываться на жёсткий диск. Windows Vista больше не предоставляет доступ через "Панель управления" для отключения функции гибернации, в отличие от Windows XP. Однако метод выключения всё же есть. Достаточно выполнить команду powercfg -H off для отключения гибернации, а для повторного включения - powercfg -H on. Для выполнения команды требуются административные привилегии. Тестовая конфигурацияДля наших тестов мы использовали следующую конфигурацию. Тестовая конфигурация:
Программное обеспечение и драйверы:
Где взять 64-битную версию Windows?Если вы уже используете Windows Vista и планируете перейти на 64-битную версию, то сначала следует определить, придётся ли вам докупать ещё одну лицензию. Покупателям версии Windows Vista Ultimate расстраиваться не придётся, поскольку установочный диск содержит 32- и 64-битные версии ОС. Для всех других версий вы можете заказать установочные диски 64-битной ОС напрямую от Microsoft, и заплатите минимальные деньги только за почтовые расходы. Но для этого вам необходимо обладать полной розничной ("коробочной", retail) версией Vista. Если вы используете OEM-версию, которая предустановлена на вашем компьютере, то вы не сможете воспользоваться этим предложением. То же самое касается версий для сборщиков систем (DSP/SB). Таким образом, владельцы полных ("коробочных") версий Vista без проблем получат модернизацию, а пользователям других вариантов ОС придётся остаться в стороне. В принципе, в таких случаях Microsoft рекомендует обращаться к OEM-поставщику. Если и это не поможет, то лицензию на ОС придётся покупать заново. Что интересно, вам не потребуется новый ключ продукта для 64-битной версий. Тот, что поставляется с вашей копией Windows Vista, подходит как для 32-, так и 64-битных версий. Заключение: 8 Гбайт улучшают эффективность и комфортНаши тесты привели к ясному заключению. Если вы часто одновременно запускаете приложения, которым требуются большие объёмы памяти, то обновлять систему до 8 Гбайт рекомендуется. Тогда работа и, особенно, переключение между приложениями будут выполняться намного быстрее, чем на типичной 2-Гбайт конфигурации. Кроме того, такая конфигурация будет полезна и для современных 3D-игр, которые сами по себе занимают больше 1 Гбайт памяти, если в фоне у вас работают какие-либо другие приложения. При этом долгое время запуска приложений Windows останется в прошлом, как и постоянная подкачка с жёсткого диска. Самое лучше, что сегодня такая модернизация обойдётся недорого - всего около $200. Опытные пользователи могут дать своей системе ещё один прирост производительности, отключив файл подкачки совсем. Но тогда придётся постоянно следить за состоянием системы, чтобы не столкнуться с внезапным крахом из-за нехватки памяти. Большие объёмы памяти особенно полезны при работе с виртуальными машинами, такими как VMware и Microsoft Virtual PC. Если они будут получать достаточный объём ОЗУ, то пользователю уже не придётся останавливать одну машину, чтобы запустить другую; достаточно будет просто переключиться между ними. В любом случае, даже опытным пользователям следует подготовиться к трудностям перехода на 8 Гбайт ОЗУ. Будьте готовы встретиться с проблемами драйверов - и не только экзотического "железа". Некоторые системные утилиты тоже могут отказаться работать. С другой стороны, падение цен на память приведёт к быстрому распространению 64-битных систем, так что и проблема с драйверами должна остаться в прошлом. Если у вас нет 64-битной версии ОС, вы можете заказать её напрямую от Microsoft и заплатить только за почтовые услуги. Увы, но владельцам OEM-версий Vista не так повезло: здесь всё зависит от доброй воли поставщика вашего ПК, поскольку Microsoft не поддерживает такие версии напрямую. В худшем случае придётся раскошелиться на ещё одну лицензию. |