Голубятня: Сидр № 9
АрхивГолубятня-ОнлайнДо чего же парадоксальными бывают решения в нашем айтишном палисаднике! Вот и сейчас: полугодовая борьба за повышение производительности Parallels увенчалась успехом, но каким макаром!
Читатели помнят о заветном иллюминаторе, который новообращенцы в Надкусанову веру предпочитают постоянно держать открытым, хотя бы на первых порах: о виртуальных машинах. И пусть сфера применения этих "ностальгичных призраков прошлого" весьма и весьма ограничена (ну нет ничего такого в жизни рядового пользователя, чего бы можно было делать в Форточках, и нельзя - в Надкусане!), держимся мы за эти призраки обеими руками, не желая разрывать на уровне подсознания последние связующие нити с прошлым.
Я уже писал о выборе виртуальной машины и о своем имховом победителе - Parallels Desktop. "Параллели" приглянулись больше VMWare, вопреки законодательному статусу последнего в корпоративной епархии. Но вот незадача: "Параллели", хоть и были явно шустрее конкурентов, но все равно в моем представлении ползали. Хуже же самого ползанья было то обстоятельство, что чем больше виртуальная машина висела в открытом состоянии, тем сильнее тормозила вся система, причем ни о какой утечке памяти речи не было: все программы стабильно откусывали свою вполне себе пристойную толику памяти, однако ОС через час-другой принимался энергично свопировать на диск и - как следствие - переходил с аллюра на непристойный черепаший променад.
Все это, впрочем, я уже описывал в сентябрьском "Параллельном Сидре", в котором делился решением, найденным замечательным программным архитектором компании Максимом Кузькиным. Тогда виновником тормозов был признан Spotlight - встроенная в Mac OS X поисковая утилита, которая после переиндексации вернула на какое-то время к жизни виртуальную машину Parallels.
Увы, счастье длилось недолго: через неделю-другую все опять стало ползать и не спас даже новый - шестой - релиз программы. Дошло до того, что я плюнул на комфорт и извлек из чулана старуху Вайю, на которой принялся гонять единственную программу, которая удерживала меня в старом - форточном - мире. Вернее, не программу даже, а идиотский банковский клиент "Райффайзена", написанный на ActiveX!
Перелом случился на прошлой неделе, когда маркетолог Parallels Евгений Купраш прислал мне исчерпывающую инструкцию, которая не просто сотворила чудо, но добилась результата самым парадоксальным образом. Спешу поделиться с читателями информацией, способной за несколько кликов мыши вдохнуть в их виртуальную машину легкое дыхание молодости. Итак:
Введение
По умолчанию в Parallels Desktop для Mac выставлены настройки, которые являются оптимальными для среднестатистического пользователя. Но в России Маки используются главным образом продвинутыми юзерами, у которых к платформе виртуализации вполне конкретные требования - быстродействие и (если речь идет о портативных компьютерах Apple) длительное время работы от батареи. Возможности PD6 позволяют настроить виртуальную машину и так, и эдак. Часть трюков, о которых будет рассказано ниже, известна только опытным маководам, которые используют приложение от Parallels на протяжении нескольких лет. Итак, куда нужно нажать, чтобы гостевая Windows работала быстрее?
Tweak #1. Задаем оптимальный объем RAM для гостевой ОС и ее приложений
Четырех гигабайт RAM, которыми, как правило, комплектуются современные компьютеры Mac, хватает, чтобы две операционные системы (Mac OS и Windows) работали достаточно быстро. По умолчанию в Parallels Desktop для гостевой операционки отведен 1 Гб оперативной памяти. Как ни странно, гигабайта может быть даже слишком много, если вы регулярно запускаете, например, не слишком требовательные MS Office, Internet Explorer и «Блокнот». Перебор с количеством памяти для виртуальной машины грозит «тормозами» хоста: вы отберете необходимые ресурсы у Mac OS, из-за чего она вынуждена будет использовать файл подкачки.
В идеале нужно выяснить, сколько оперативной памяти потребляет виртуальная Windows вместе с запущенными под ней нужными вам приложениями, и назначить соответствующее значение в настройках Parallels Desktop. Алгоритм выглядит так:
1. Запускаем Windows в Parallels Desktop на Маке.
2. Ждем, пока гостевая ОС полностью загрузится.
3. Запускаем нужные приложения. В нашем случае — это Internet Explorer с тремя достаточно «тяжелыми» сайтами, Paint и «Блокнот». Для того, чтобы снятые потом показания использования RAM были максимально объективными, работаем с приложениями некоторое время в своем обычном режиме.
4. Открываем Диспетчер задач Windows. В XP количество потребляемой системой и ее приложениями оперативной памяти (вместе с программами с автозапуском, типа антивируса) указано в правом нижнем углу Диспетчера (см. рис. ниже). В Windows 7 аналогичные показатели можно снять через Монитор ресурсов (resmon.exe), во вкладке Память. Именно это значение (+10% на всякий случай) и нужно будет использовать для установки оперативной памяти для виртуальной машины.
5. Выключаем виртуальную машину через Parallels Desktop. Затем: Виртуальная машина => Настроить. Во вкладке Общие выставляем требуемое значение с небольшим запасом.
Обратите внимание: по сравнению с дефолтными настройками количество RAM снизилось в три раза. Сэкономленный объем быстрой (в отличие от HDD) памяти останется у Mac OS.
Tweak #2. Использование Suspend/Resume
При прекращении работы с приложениями в гостевой ОС пользователь закрывает свои программы в ней и останавливает виртуальную машину. Когда гостевые приложения снова нужны, процесс повторяется в обратном порядке. Все это отнимает кучу времени, которое легко экономится использованием функций Suspend/Resume. Это одна из самых любимых продвинутыми юзерами «фишек» Parallels Desktop.
Вместо того, чтобы «заглушить» виртуальную машину, выберите Приостановить.
Гостевая ОС может «суспендиться» вместе с открытыми в ней приложениями — в нашем случае с тем же Internet Explorer. Это удобно, когда нужно быстро возобновить работу виртуальной машины и запущенного в ней софта. Запускаем PD, выбираем Windows и в меню Виртуальная машина нажимаем Возобновить. «Гость» выводится из спячки буквально за секунды вместе с теми приложениями, с которыми вы его «засуспендили». Обратите внимание: виден открытый Internet Explorer.
Состояние памяти, состояние внутренних устройств виртуального компьютера сохраняется на жестком диске в виде файла. Этот файл потом «поднимается» средствами PD. При использовании Suspend/Resume вместо одной-двух минут ожидания загрузки Windows и ее приложений на все про все уходит от силы секунд десять. Экономия времени колоссальная.
Tweak #3. Выигрываем 1,5-2 часа работы от батареи
Этот трюк хорош для обладателей портативных компьютеров Apple MacBook и Apple MacBook Pro, в которых есть два видеоадаптера — интегрированный и дискретный. Графический чип в портативных Маках — один из самых прожорливых компонентов, поэтому если ваша цель — максимальная автономность и длительное время работы компьютера от батареи, лучше не допускать включения 3D-акселератора. Популярная нынче ОС Windows 7 по умолчанию использует интерфейс Aero. Все эти тени, полупрозрачные элементы управления и парящие окна отрисовываются с помощью DirectX и нагружают графическую подсистему. Хотя выглядит Aero симпатично, на качество работы в Windows оно не особо влияет, а время автономной работы сокращает значительно. Тут надо объяснить, что Parallels Desktop перекладывает любой трехмерный эффект, созданный средствами DirectX (который не поддерживается на стороне Mac OS), в OpenGL. В процессе нагружается и видеокарта хост-компьютера, и оперативная память, что ведет к ненужному расходу заряда батареи.
Важно! Известно, что портативные компьютеры Mac переключаются «на лету» с интегрированной графики на дискретную сразу же, как в том возникает необходимость. Переключаться обратно (с дискретной на интегрированную) они не умеют. Поэтому, если система хотя бы один раз за сеанс работы использовала отдельный 3D-акселератор, он останется включенным до первой перезагрузки.
Для настройки PD на экономичный режим работы следует сделать вот что:
1. Открываем Parallels Desktop.
2. Меню Виртуальная машина => Настроить. Во вкладке Оборудование выбрать пункт Видео и снять галочку с чекбокса Включить 3D-ускорение.
Готово. Впрочем, мы отключили 3D-эффекты, но пока не уменьшили количество видеопамяти, отведенной для виртуальной машины: сохранилось ее значение по умолчанию — в нашем случае это 256 Мб. Поскольку такой огромный объем для двухмерной графики просто не нужен, имеет смысл отдать «лишнюю» память хосту. Для отрисовки простого (без Aero) интерфейса Windows 7 и уж тем более Windows XP хватит и 32 Мб. Меняем этот параметр, как показано на скриншоте:
Эти действия помогут выиграть 1,5-2 часа времени работы от батарейки. Проверено на собственном опыте. Правда, запускать при таких настройках что-то «тяжелое» уже не получится. Но для приложений, использующих 3D, есть специальные настройки (см. твик №5).
Tweak #4. Настраиваем дисковую подсистему виртуальной машины для лучшего быстродействия
Гостевая OC на Маке, как правило, используется для работы с рядом вполне конкретных приложений — все остальные задачи успешно решаются средствами Mac OS. В связи с этим Windows может обойтись весьма скромным объемом памяти на жестком диске. По умолчанию в PD «гостю» отданы 64 Гб, но если вы не собираетесь ставить на Windows много софта, этот объем можно смело сократить вдвое. Делается это так:
1.Запускам PD.
2.Щелкаем в окне выбора ОС по Windows.
3.Пункт меню Виртуальная машина => Настроить => Оборудование => Жесткий диск => Расширяемый диск => Редактировать. Выставляем 32 Гб и убираем галочку из чекбокса Расширяемый диск и нажимаем Применить.
Этот маневр позволит избежать в будущем фрагментации образа диска виртуальной машины по всему HDD вашего компьютера, и за счет этого гарантировать хорошую производительность дисковой подсистемы в «госте» на все время жизни Мака. Если впоследствии вам понадобится увеличить размеры диска для виртуальной машины, это всегда можно сделать через настройки здесь же.
Tweak #5. Настраиваем PD6 для игр
Parallels Desktop можно настроить так, чтобы гостевая Windows показывала в играх максимальное быстродействие. Процессоры относительно свежих Маков имеют по нескольку ядер. Если вы собираетесь поиграть в виртуальной машине, вам нужно переключить все имеющиеся ядра на поддержку гостевой ОС. Делается это так:
1. Запускаем PD.
2. Выбираем Windows.
3. Из меню Виртуальная машина => Настроить => вкладка Общие => Процессоры
Вы можете задействовать для игр то количество процессоров, которое посчитаете нужным. Наибольший эффект от этой опции получится в относительно свежих играх, которые поддерживают многопоточность — например, Far Cry 2 и Mass Effect 2.
* * *
Как видите: парадокс заключался в том, что для ускорения работы Parallels нужно было ограничить размер выделяемой под виртуальную работу Windows памяти, а не увеличивать ее! Такое даже в голову не приходило! Я исправно тестировал 1 гигабайт, полтора, два и даже два с половиной - и все с плачевными результатами. Теперь же, выделив под свою виртуальную ось 512 мегабайт, я добился быстродействия, ничем не отличающегося от plain vanilla. Этого же объема памяти за глаза хватило для всех моих форточных нужд!