Дайте процессору отдохнуть,или Жаропонижающее для ОС

Охлаждение
(краткая предыстория)

Проблема нагрева процессоров, да и вообще используемых в компьютерах микросхем, стала заметной для широкого круга пользователей еще во времена 486-х машин. Причем младшие "четверки" вполне обходились обычным радиатором, и только процессоры серий SX2/DX2/DX4 уже не могли нормально работать без активного охлаждения. Дальнейшее развитие систем охлаждения пошло по давно проторенному экстенсивному пути: вентиляторы и радиаторы становились больше, частота вращения — выше… Потом, в связи с модой на "всеобщую интеллектуализацию всех устройств", добавились микросхемы контроля температуры и возможность динамически изменять частоту вращения. В общем, все как обычно, и никаких особых инноваций не предвиделось. И вдруг (так и хочется сказать: "как всегда") выяснилось, что температуру процессора можно уменьшать, не только охлаждая его, но и просто оптимизируя режим работы. А именно, давая ему команду "ничего не делать"… когда делать ему действительно нечего.

Что делает процессор,
когда ему нечего делать?

Как оказалось, ответ на данный вопрос отнюдь не однозначен и зависит он от того, какая операционная система в это время работает. Unix-подобные ОС (в частности, Linux и FreeBSD), OS/2, Windows NT и Windows 2000 при отсутствии необходимости исполнять какой-нибудь код дают процессору команду HALT, что приводит к фактическому останову, и потребление энергии CPU сводится к минимуму, требуемому для удержания его в рабочем состоянии. Естественно, нагрев в таком режиме существенно снижается. Действительно, попробуйте в течение 10—15 минут ничего не делать на компьютере с Windows NT, а потом измерьте температуру CPU либо с помощью встроенного аппаратного мониторинга, либо даже просто рукой (но со всеми предосторожностями) — она будет почти такой же, как температура в помещении. Но с Windows 95/98/98 SE (далее для краткости — Windows 9x) ситуация в корне иная. Почему? Потому что эта операционная система при простое "выдумывает" процессору работу сама, заставляя его выполнять бесконечный пустой цикл (для тех, кто знает BASIC: на нем бы эта "программа" выглядела как "10 if <делать_нечего> then goto 10"). Какая глобальная идея заключена в таком подходе к использованию процессорного времени — ведомо, наверное, только разработчикам. Но факт остается фактом: при работе под Windows 9x процессор постоянно занят исполнением каких-либо инструкций, полезных или же абсолютно бесполезных.

Конечно, рано или поздно должен был найтись грамотный программист, которому эта ситуация показалась бы немного странной и достойной исправления. Так и родились "программные вентиляторы" — soft coolers, которые мы будем называть просто "софт-кулерами". Строго говоря, эти программы не охлаждают процессор, а подходят к проблеме с другой стороны — они не дают ему нагреваться больше, чем это действительно необходимо для работы.

Программы-участники тестирования (сводная таблица)

Однако, как известно, "бесплатных пряников не бывает", и первые версии софт-кулеров оказывали влияние на производительность, и подчас весьма существенное. Естественно, возникал вопрос — а стоит ли овчинка выделки? Собственно, выяснение таких вопросов и было одной из наших основных задач. Мы специально отложили тестирование софт-кулеров до того момента, когда их количество станет достаточным для проведения действительно полномасштабного "большого теста". И вот перед вами — результаты испытаний одиннадцати утилит, реализующих "программное охлаждение" CPU. Для начала кратко опишем каждую из них.

CPU Idle 5.6
(www.cpuidle.de)

CPU Idle — "дедушка" всех софт-кулеров. Насколько нам известно, это первая утилита, в которой идея программного охлаждения CPU нашла реальное воплощение. Все версии ниже 3.х были freeware, потом программа стала распространяться как shareware. Кстати, сейчас почему-то убрали с сайта последнюю freeware-версию и CPU Idle for DOS (едва ли не единственный в своем роде продукт), однако при желании их можно найти в Internet. Интерфейс программы прост и удобен, возможности настройки небогаты, но вполне достаточны — включение/выключение охлаждения, включение оптимизации (разрешение некоторых аппаратных возможностей процессора, которые могут быть не разрешены BIOS) и автоматическое отключение при большой нагрузке (видимо, как раз для устранения влияния на производительность). Индикатор текущей загруженности процессора отображается в области System Tray в графическом или цифровом виде. Также программа может работать в паре с Motherboard Monitor — ПО аппаратного мониторинга материнской платы. Приятно, что при инсталляции CPU Idle "понял", что устанавливается на русскоязычную ОС, и автоматически перевел интерфейс в русский режим.

AMN HLT Lite/Max + HLT Monitor
(user.cityline.ru/~maxamn/amnhlt.html)
AMN Task Manager
(www.amn.ru)

Это ПО российской разработки, реализующее в том числе возможности софт-кулера. Собственно говоря, сюда входят четыре продукта: AMN HLT Lite, AMN HLT Max, AMN HLT Monitor и AMN Task Manager. Первые три — бесплатные, а AMN Task Manager пока бесплатно доступен в бета-версии, которая работает 30 дней после инсталляции. Планы создателей после выхода релиза пока не ясны — может быть, это уже будет shareware. AMN HLT Lite и Max — "драйверные" софт-кулеры и не содержат никаких возможностей настройки или управления. После запуска инсталляционной программы (обычного .bat-файла) файл AMNHLT.VXD копируется в WindowsSystem, а в реестр вносится соответствующий пункт для запуска драйвера при старте Windows. Процедура деинсталляции состоит в удалении вручную файла драйвера и ключа реестра, никакой специальной программы для этого не предусмотрено. Версия Max, по информации на сайте, отличается от Lite более "агрессивным" подходом, что позволяет усилить эффект охлаждения, но уже за счет падения производительности. Версия Lite (опять-таки, по информации из того же источника) на производительность не влияет вообще. HLT Monitor — это отдельная программа, с помощью которой можно в графическом виде просмотреть статистику работы AMN HLT Lite и Max. Заслуживает внимания размер ПО: сами драйверы (собственно, только они и необходимы для работы) занимают соответственно 4,57 KB для версии Lite и 5,08 KB для версии Max. AMN Task Manager реализует функцию программного охлаждения уже как добавочную, основная же задача этой программы — дать пользователю максимум информации о всех процессах, исполняющихся в данный момент Windows. Полный обзор функций программы явно выходит за рамки этого теста, нас же интересует только то, что она тоже является софт-кулером.

Rain 1.0
(cpu.simplenet.com/leading_wintech)

Еще один софт-кулер, "не балующий" пользователя настройками. Простейшая инсталляционная программа просто копирует в указанный каталог файл rain.exe и добавляет ярлык в группу "Автозагрузка". После запуска в System Tray появляется пиктограмма с изображением микросхемы, на которую падают капли дождя. При щелчке на ней правой кнопкой мыши "дождик" пропадает (или снова появляется), что означает включение/выключение софт-кулера. С помощью единственного параметра командной строки задается тип процессора. Кстати, инсталляционная программа Rain 1.0 определила наш Celeron как Pentium Pro, поэтому впоследствии строку запуска пришлось редактировать вручную. Указанная в документации страничка программы в Internet пытается переадресовать вас на http://www.yihong.com, что (в совокупности с номером версии) наводит на мысль о том, что Rain 1.0 представляет собой ранний вариант следующей рассматриваемой программы.

Waterfall Pro 2.99
(www.yihong.com)

Для начала о грустном — указанный в документации сайт "обрадовал" нас большой коллекцией… выставленной на продажу мебели и фурнитуры. Хотелось бы надеяться, что это просто ошибка и поддержка программы все же существует. Возможности программы немного шире, чем у Rain 1.0, — она "понимает" некоторые чипы аппаратного мониторинга и позволяет вручную выставить приоритет системным процессам. Однако по части "интуитивности" интерфейс программы оставляет желать лучшего — пользоваться ее дополнительными функциями было достаточно неудобно. Waterfall Pro относится к классу shareware, причем из-за проблем с Web-сайтом ни кнопка регистрации, ни техническая поддержка не работают. К тому же быстро отключить софт-кулер нам так и не удалось — ради этого приходится "продираться" через многооконный настроечный Wizard. В общем, несмотря на номер версии, программа выглядит несколько сыро.

CPU Cool 5.1.0
(www.podien.de)

Этот софт-кулер явно претендует на звание "рабочего инструмента профессионального оверклокера". Основное окно программы дает доступ к подробнейшей информации об используемых модулях памяти и всех их характеристиках, меню Tray Icon можно настроить для динамического изменения частоты FSB (!), кроме того, время от времени по указанному пользователем критерию программа может "чистить" системную память. Также поддерживается "сотрудничество" со многими микросхемами аппаратного мониторинга. В общем, количество настроек и возможностей этой программы очень велико, и все в целом выглядит весьма привлекательно, особенно для любителей "подразогнать" компьютер. Правда, интерфейс не отличается изяществом, и для того чтобы добраться до некоторых функций, поначалу приходится изрядно поблуждать. Немного портит впечатление и то, что некоторые функции нам так и не удалось задействовать — в частности, отображение загрузки процессора в System Tray хоть и предусмотрено, но почему-то не включается. Впрочем, судя по информации на сайте, новые версии выходят регулярно, и обнаруженные ошибки устраняются.

KCPU Cooler 0.6.0
(kiryssoft.cjb.net)

По интерфейсу этот продукт почти полностью копирует Rain 1.0 — та же микросхемка в System Tray, те же капли дождя, появляющиеся и пропадающие при щелчке на пиктограмме правой кнопкой мыши, добавился только звук, который при этом раздается. Функции настройки ограничиваются включением и выключением софт-кулера. Также при каждой загрузке программа выдает предупреждение о том, что это бета-версия, и пользователь запускает ее на свой страх и риск. Предупреждение, конечно, нужное, но постоянное его появление после двух-трех перезагрузок начинает надоедать, а возможность отключения не предусмотрена. "Бетовость" свою программа успешно подтвердила, несколько раз приведя к общему краху системы (кстати, KCPU Cooler — единственная из всех протестированных программ, которая вызвала сбои в работе ОС).

WinCooler 1.0
(www.wincooler.com)

Похоже, интерфейс "а-ля тумблер", т. е. никаких возможностей, кроме включения и выключения, у софт-кулеров является наиболее популярным вариантом. Собственно говоря, идеальному софт-кулеру ничего больше и не нужно (хотя "абсолютно идеальному", никак не влияющему на производительность, не нужна и функция выключения). Ничем особенным эта программа не запомнилась — стандартный экран с данными о процессоре, стандартный набор в контекстном меню: Enable, Open (он же About) и Close. Никакой информации о необходимости регистрации или оплаты не обнаружено, что позволяет отнести эту программу к freeware.

Micro-Star SoftCooler II
(www.msi.com.tw)

Этот софт-кулер поставляется в комплекте с системными платами Micro-Star (MSI). Однако его можно свободно загрузить с сайта фирмы, и, как мы обнаружили, он сохраняет свою работоспособность и на платах других производителей (правда, в окне About в этом случае указывается, что MSI не гарантирует корректной работы). Отрадно, что MSI "не жадничает" — ведь отключить возможность использования своего ПО на чужих платах (например, через идентификацию BIOS) не столь уж сложно. Интерфейс этого софт-кулера также весьма прост: включение/выключение, Properties, About, Exit. Окно Properties, правда, не совсем соответствует своему названию, всего лишь выдавая детальную информацию о CPU, однако, может быть, именно на материнских платах MSI и активизируются прочие его функции? Учитывая, что наш обзор не ориентирован на какого-то конкретного производителя материнских плат, мы не стали углубленно заниматься выяснением этого вопроса, а просто протестировали MSI SoftCooler II как универсальную утилиту.

Windows 98 Second Edition
(www.microsoft.com)

Как оказалось, хоть эта возможность и не отражена ни в одном известном нам документе, Windows 98 SE (номер ревизии 4.10.2222) имеет функцию программного охлаждения, встроенную в систему. Для того чтобы задействовать ее, достаточно внести в системный реестр следующие изменения: создать в разделе HKEY_LOCAL_MACHINESystemCurrentControlSetСontrol подраздел CPUIdle, а в нем — переменную типа dword с именем Idle. Присвоение этой переменной значения 1 разрешает подать процессору команду HALT при простое, 0 — соответственно, запрещает. Естественно, для тех, у кого стоит эта версия Windows, такой софт-кулер чрезвычайно привлекателен: он вообще не требует инсталляции, не занимает места ни в памяти, ни на диске, и к тому же гарантированно (насколько это вообще возможно) совместим с операционной системой, так как является ее частью.

Тестовая платформа и методика тестирования

Для тестирования софт-кулеров мы использовали системную плату ASUS P3B-F. На ней, в отличие от многих плат других производителей, датчик температуры CPU не впаян, а поставляется отдельно на длинном гибком проводе, что позволяет корректно разместить его на процессоре любого типа. В данном случае, так как нас интересовали максимально точные данные о температуре, эта особенность P3B-F оказалась очень полезной. Датчик был прикреплен скотчем прямо к тыльной стороне процессора, благодаря чему мы могли быть уверены, что измеряется именно температура CPU, а не радиатора (к слову, именно по этой причине читателя могут удивить гораздо более высокие температуры, чем он привык видеть при снятии показаний аппаратного мониторинга на своей плате). И естественно, мы захотели проверить софт-кулеры в максимально тяжелом для системы охлаждения режиме, поэтому процессор Celeron 300A PPGA в нашем тестировании работал на частоте FSB 100 MHz, т. е. — в разогнанном до 450 MHz состоянии.

Методика тестирования была следующей: для каждого софт-кулера (в эталонном случае — вообще без него) ОС после его установки перезагружалась, после чего мы "оставляли ее в покое" на 10 минут и по завершении срока снимали показания температуры CPU. Все энергосберегающие функции были отключены, screensaver — тоже. Указанная в диаграммах температура CPU в процессе работы тестовых программ представляет собой среднее арифметическое от показаний аппаратного монитора на протяжении времени работы программы (при этом первая минута работы не учитывалась, чтобы дать процессору разогреться).


Как видно из диаграммы, в случае постоянной высокой нагрузки на процессор все софт-кулеры, кроме MSI SoftCooler II, "пасуют", не обеспечивая никакого дополнительного охлаждения. Однако когда нагрузка на процессор несколько ниже (тест SYSmark2000), некоторые из них уже частично снижают температуру, хотя и тут SoftCooler II выигрывает с громадным отрывом. В случае же, когда система простаивает, разброс результатов гораздо больше, видимо, это связано с эффективностью используемых алгоритмов.


Основной вывод прост: организация программного охлаждения CPU практически без ущерба для быстродействия системы — возможна. Большинство из протестированных софт-кулеров показывают нулевую или близкую к нулю деградацию производительности при их использовании, а несколько выбивающихся из общей группы программ лишь подтверждают тезис о том, что любую функцию можно реализовать не только хорошо, но и плохо.

Наш выбор

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

Номинация "Лучший охладитель" — участвуют все программы. Здесь оценивается качество собственно охлаждения, без учета прочих особенностей. Бесспорное первое место занял MSI SoftCooler II — единственная программа, которая обеспечивала программное охлаждение не только при простое системы, но даже в процессе интенсивной работы.

Номинация "Выбор оверклокера". В список требований к программам этого класса мы включили обязательную поддержку аппаратного мониторинга и возможность организации взаимодействия софт-кулера с термометром CPU с целью предотвращения сбоев. Участников, соответственно, было трое: CPU Idle (в комбинации с Motherboard Monitor — программой другого производителя), Waterfall Pro и CPU Cool (обе эти программы поддерживают отслеживание температуры процессора самостоятельно). Waterfall Pro существенно проиграл из-за отсутствия реальной технической поддержки (о чем мы уже писали выше), CPU Idle с CPU Cool по результатам тестов идут вровень, но в связи с тем, что CPU Idle для работы с аппаратным монитором требует дополнительной программы, а в CPU Cool эта функция встроена, первое место мы присудили именно CPU Cool. Кроме того, его встроенная функция динамического изменения частоты шины FSB вообще не имеет аналогов в других программах.

Номинация "Самый маленький софт-кулер". В этой номинации также участвовали все программы. Оценивались в совокупности размер самой программы (инсталляционного пакета) и количество памяти, занимаемое программой в процессе работы. Естественно, вне конкуренции была встроенная функция программного охлаждения Windows 98 SE, и тем, у кого установлена эта ОС, можно смело рекомендовать именно ее. Тем же, кто использует Windows 98 первой редакции или же Windows 95, стоит обратить внимание на AMN HLT Max — его программное охлаждение несколько эффективнее Lite-версии, падение же производительности является настолько незначительным, что им можно пренебречь.

Явными аутсайдерами выглядят Rain, KCPU Cooler и WinCooler — обыкновенные софт-кулеры, не обладающие никакими дополнительными функциями, весьма средние по результатам тестов и явно проигрывающие по размеру используемой памяти тем же AMN HLT Lite и Max.

Заключение

Обобщая результаты тестирования, хотелось бы выделить два наиболее важных с нашей точки зрения момента.

1. При постоянной и высокой нагрузке на процессор программное охлаждение чаще всего малоэффективно или же просто бесполезно. Это означает, что если ваша любимая игра постоянно "сбоит" на разогнанном процессоре, софт-кулер вряд ли поможет в решении подобной проблемы. Конечно, программы из номинации "выбор оверклокера" могут спасти ситуацию, но не нужно забывать, что они всего лишь искусственно увеличивают время простоя процессора при достижении заданной температуры, а это неизбежно скажется на быстродействии — в результате реальная производительность вашего разогнанного процессора может быть существенно ниже, чем ожидаемая. Вместе с тем отметим, что у большинства пользователей, которые все-таки не играют в компьютерные игры, полная загрузка CPU в течение длительного времени бывает достаточно редко.

2. Однако возможен и другой вариант: эпизодически, время от времени, система зависает по непонятным причинам, при этом температура процессора явно высокая (по данным аппаратного мониторинга или же даже просто "на ощупь"). Это может быть следствием многих причин: работа CPU на предельных значениях температуры из-за разгона, неудачная конструкция корпуса (особенно этим "грешат" многие noname-корпуса формата AT) или даже просто высокая температура в помещении из-за летней жары. В этом случае софт-кулер вполне может помочь.

Особенно хотелось бы остановиться на варианте "летней жары". Не секрет, что компьютеры в среднестатистическом отечественном офисе часто сделаны по принципу "на что деньги были — из того и собрали". При этом ни о каких качественных комплектующих речь не идет, а потому процессоры в таких компьютерах могут перегреваться даже в штатном режиме из-за низкого качества корпусов и вентиляторов. Не секрет также, что с этой проблемой сталкивается каждый год масса офисных работников, не помышляющих ни о каком разгоне и работающих в основном с программами типа Microsoft Office или "1C:Бухгалтерия" (где нагрузка на процессор большую часть времени минимальна). Для такого компьютера софт-кулер вполне может стать простым решением "летней проблемы". И что немаловажно — решением чрезвычайно дешевым или вообще бесплатным.