Программные измерители мощности для Microsoft Windows*
Программные измерители мощности для Microsoft Windows*
Опубликовано: 12/10/2012 Последнее обновление: 12/10/2012
Для наиболее точного измерения показателей энергопотребления платформы принято использовать аппаратные измерители мощности. Существует множество моделей таких измерителей (например, NetDAQ Networked Data Acquisition Units компании Fluke или Yokogawa WT210), но не каждый может их себе позволить, да и необходимость использования такого рода устройств возникает довольно редко. Если вы занимаетесь разработкой программных приложений и стремитесь оптимизировать их с точки зрения потребления электроэнергии, можно использовать программный измеритель мощности.
В этой статье рассматриваются три программных измерителя для платформы Microsoft Windows (Intel® Power Gadget, Intel® Power Checker, а также Joulemeter выпущенный лабораторией Microsoft® Research). Каждый из них собирает разные данные. Эта статья поможет разработчикам, не имеющим доступа к внешнему аппаратному измерителю мощности, понять, как работает каждый из описываемых программных измерителей, и как их использовать в цикле оптимизации ПО.
В конце каждого раздела предоставляются ссылки для загрузки программных измерителей и прочей доступной документации. Для получения более подробной информации ознакомьтесь с документацией к приложениям.
Универсальные программы
Самый простой способ определить температурные показатели — использовать программу, которая может показать термо-датчики всех устройств. Ниже представлены примеры, именно, таких программ.
1. Speccy
Это бесплатная небольшая программа. Скачать можно с официального сайта.
После установки и запуска в первом окне мы увидим всю нужную нам информацию:
* 1) температура процессора. 2) материнской платы (северного моста). 3) видеокарты. 4) дисковых носителей.
2. SpeedFan
Программа предназначена для контроля скорости кулеров, однако, отображение температур — ее неотъемлемая часть. Также, можно настроить автозапуск программы и постоянно видеть температурные показатели в трее.
Запускаем программу – в первом окне увидим показатели с датчиков:
3. AIDA64 (everest)
Это хорошая программа, но некоторые функции доступны только в платной версии. Поэтому применять ее только для определения температуры не целесообразно. Однако, если AIDA уже стоит в системе, стоит ей воспользоваться.
Запускаем программу – раскрываем пункт Компьютер – кликаем по Датчики. Справа находим Температуры:
Если свернуть программу, в трее мы будем видеть все показатели температур.
4. HWMonitor
Переходим на официальный сайт и скачиваем утилиту (можно обойтись портативной версией — zip-архив). Устанавливаем или распаковываем программу и запускаем ее — информацию о температурах мы увидим в удобно сгруппированных разделах:
5. MSI Afterburner
С ее помощью можно мониторить температуру комплектующих во время игр. Скачиваем утилиту с официального сайта, устанавливаем ее и запускаем.
Для настройки мониторинга открываем настройки:
Переходим на вкладку Мониторинг, выбираем галочками счетчики и для каждого из них настраиваем Показывать в ОЭД:
Программа для управления кулерами SpeedFan
Это многофункциональная и полностью бесплатная программа. Наверное сразу немного огорчу, сказав что эта программа работает не на всех ноутбуках, но можно пробовать, и не будет регулировать обороты тех вентиляторов, которыми не умеет управлять материнская плата из BIOS. Например, из моего BIOS можно включить функцию управления кулером SmartFan только для центрального процессора. Хотя смотреть текущие обороты можно ещё для двух. Для управления кулером ноутбука есть другая программа.
Иначе может произойти следующая ситуация. В момент загрузки программы SpeedFan считываются текущие обороты и принимаются за максимальные. Соответственно, если к этому времени BIOS не раскрутит вентилятор до максимальных оборотов, то и программа не сможет это сделать.
У меня так один раз случилось, что в момент загрузки программы кулер на процессоре крутился со скоростью 1100 об/мин, и SpeedFan не мог установить бОльшее значение. В итоге процессор нагрелся до 86 градусов! А заметил я это случайно, когда в момент большой нагрузки не дождался шума от вентилятора. Благо ничего не сгорело, а ведь компьютер мог больше не включиться…
Запуск и внешний вид программы
Скачайте и установите приложение с официального сайта.
При первом запуске возникнет обычное окошко с предложением помощи по функциям программы. Можете поставить галочку, чтобы оно больше не появлялось и закройте его. Далее SpeedFan считает параметры микросхем на материнской плате и значения датчиков. Признаком успешного выполнения будет список с текущими значениями оборотов вентиляторов и температур компонентов. Если вентиляторы не обнаружены, значит программа вам ничем не сможет помочь. Сразу перейдите в «Configure -> Options» и поменяйте язык на «Russian».
Как видим, здесь также показана загрузка процессора и информация с датчиков напряжения.
В блоке «1» располагается список обнаруженных датчиков скорости вращения кулеров с названиями Fan1, Fan2…, причём их количество может быть больше, чем есть на самом деле (как на картинке). Обращаем внимание на значения, например Fan2 и второй Fan1 имеют реальные показатели 2837 и 3358 RPM (оборотов в минуту), а остальные по нулям или с мусором (на картинке 12 RPM это мусор). Лишние мы потом уберём.
В блоке «2» показываются обнаруженные датчики температур. GPU – это графический чипсет, HD0 – жёсткий диск, CPU – центральный процессор (вместо CPU на картинке Temp3), а остальное мусор (не может быть 17 или 127 градусов). В этом недостаток программы, что нужно угадывать где что (но потом мы сами переименуем датчики как нужно). Правда, на сайте можно скачать известные конфигурации, но процедура не из простых и усложнена английским языком.
Если непонятно какой параметр за что отвечает, то можно посмотреть значения в какой-нибудь другой программе для определения параметров компьютера и датчиков, например AIDA64 и сравнить с теми что определила программа SpeedFan, чтобы точно знать где какие показания скорости и температуры (на видео под статьёй всё покажу).
И в блоке «3» у нас регулировки скоростей Speed01, Speed02…, с помощью которых можно задавать скорость вращения в процентах (может показываться как Pwm1, Pwm2…, подробнее смотрите на видео). Пока что нам надо определить какой Speed01-06 на какие FanX влияет. Для этого меняем значения каждого со 100% до 80-50% и смотрим изменилась ли скорость какого-нибудь Fan. Запоминаем какой Speed на какой Fan повлиял.
Настройка SpeedFan
Вот и добрались до настроек. Нажимаем кнопку «Конфигурация» и первым делом назовём все датчики понятными именами. На своём примере я буду программно управлять кулером процессора.
На вкладке «Температуры» находим определённый на предыдущем шаге датчик температуры процессора (у меня Temp3) и кликаем на него сначала один раз, а потом через секунду ещё раз – теперь можно вписать любое имя, например «CPU Temp». В настройках ниже вписываем желаемую температуру, которую будет поддерживать программа с минимально-возможной скоростью вращения кулера, и температуру тревоги, при которой включаются максимальные обороты.
Я устанавливаю 55 и 65 градусов соответственно, но для каждого это индивидуально, поэкспериментируйте. При сильно низкой установленной температуре, вентиляторы будут крутиться всегда на максимальных оборотах.
Далее разворачиваем ветку и снимаем все галочки, кроме той Speed0X, которая регулирует FanX процессора (это мы уже определили ранее). В моём примере это Speed04. И также снимаем галочки со всех остальных температур, которые мы не хотим видеть в главном окне программы.
На вкладке вентиляторы просто находим нужные вентиляторы, называем их как хочется, а ненужные отключаем.
Идём дальше на вкладку «Скорости». Становимся на тот Speed0X, который отвечает за нужный кулер, переименовываем его (например в CPU Speed) и выставляем параметры:
- Минимум – минимальный процент от максимальных оборотов, который программа сможет установить
- Максимум – соответственно максимальный процент.
У меня минимум стоит 55%, а максимум 80%. Ничего страшного, что программа не сможет установить значение на 100%, ведь на вкладке «Температуры», мы задали пороговое значение тревоги, при котором принудительно будет 100% оборотов. Также для автоматического регулирования не забываем поставить галочку «Автоизменение».
В принципе это всё. Теперь переходим в главное окно SpeedFan и ставим галочку «Автоскорость вент-ров» и наслаждаемся автоматической регулировкой скорости вращения С первого раза не получится оптимально настроить под себя, поэкспериментируйте и оставьте подходящие параметры, оно того стоит!
Дополнительные параметры
Программка SpeedFan имеет ещё кучу функций и параметров, но я не буду в них углубляться, т.к. это тема отдельной статьи. Давайте поставим ещё несколько нужных галочек на вкладке «Конфигурация -> Опции»
- Запуск свёрнуто – чтобы SpeedFan запускался сразу в свёрнутом виде. Если не поставить, то при запуске Windows главное окно программы будет висеть на рабочем столе. Если программа не запускается вместе с Windows, то просто добавьте её ярлык в автозагрузку.
- Static icon – предпочитаю установить, чтобы в системном трее вместо цифр отображался просто значок программы
- Сворачивать при закрытии – установите чтобы при нажатии на «крестик» программа не закрывалась, а сворачивалась в системный трей (возле часиков)
- Полная скорость вентиляторов при выходе – если не установить, то после выхода из программы обороты кулеров останутся в том состоянии, в котором были на момент закрытия. А так как управлять ими больше будет некому, то возможен перегрев компьютера.
Ну как, всё получилось, программа работает, обороты регулируются автоматически? Или может вы используете другие способы? Надеюсь, информация оказалась для вас полезной. Не поленитесь поделиться ей с друзьями, я буду вам премного благодарен!
А теперь видео с подробной настройкой SpeedFan. Примечание: на видео произошёл небольшой сбой. После ручного регулирования вентилятора процессора Fan1 его значение не вернулось в 3400 RPM, а осталось почему-то в 2200 RPM. После перезапуска программы всё нормализовалось. В последних версиях SpeedFan на моём компьютере такого не было.