Утилита PowerInfo: вся сила в закладках

Утилита PowerInfo: вся сила в закладках

Тестовая лаборатория «Компостера» представила очередной инженерный релиз ути­ли­ты PowerInfo, обес­пе­чи­ва­ю­щей мониторинг состояния ­под­сис­те­мы элек­т­ро­пи­та­ния, в частности UPS и батарей но­ут­бу­ков. Изменения коснулись в ос­нов­ном по­да­чи ин­фор­ма­ции: данные о питании платформы раз­не­се­ны по за­клад­кам Power Status и Battery Details.

Реализованы 32-х и 64-битные варианты

Утилита доступна в вариантах для 32 и 64-битных ОС Microsoft Windows. Так как Win64 способна запускать 32-бит­ные приложения в режиме совместимости, 32-битная редакция должна быть универсальной для 32 и 64-битных ОС. В от­ли­чие, например от бенчмарок оперативной памяти или процедур идентификации про­цес­со­ра, взаимодействие с про­г­рам­мно-до­ступ­ны­ми ресурсами подсистемы электропитания не содержит опе­ра­ций, для которых возможностей 32-бит­но­го про­цес­со­ра и ОС было бы недостаточно. С другой стороны, не­смот­ря на положительный результат про­вер­ки со­вмес­ти­мос­ти 32-битной версии утилиты с 64-битной ОС, мы все же рекомендуем для 64-битных ОС ис­поль­зо­вать 64-бит­ный ва­ри­ант утилиты, поскольку (ги­по­те­ти­че­ски) существуют ограничения в работе некоторых функций Po­wer Man­age­ment API и IOCTL в 32-бит­ном режиме совместимости. Чтобы не критиковать Microsoft напрасно, еще раз от­ме­тим, что данный те­зис — исключительно наша перестраховка. Фактов, подтверждающих такие опасения, на дан­ный момент не вы­яв­ле­но.

Представление информации

Параметры в левой закладке Power status отражают текущее состояние электропитания. Ви­зу­а­ли­зи­ру­ют­ся ди­на­ми­че­ски при изменении состояния во время просмотра.

Состояние подсистемы электропитания мобильной платформы

Рис 1. Состояние подсистемы электропитания мобильной платформы Dell Latutude E6430s

Параметры в правой закладке Battery details несут информацию о батарее. Выбор одной из ана­ли­зи­ру­е­мых батарей осу­щест­в­ля­ет­ся посредством меню Battery enumeration path, содержащей информацию об уст­рой­ст­ве в формате, при­ня­том для функций IOCTL (Input-Output Control) операционной системы.

Информация о состоянии аккумуляторных батарей ноутбука

Рис 2. Информация о состоянии аккумуляторных батарей ноутбука Dell Latutude E6430s

В отличие от визуализируемой динамически Power status, закладка Battery details и список найденных ба­та­рей фор­ми­ру­ет­ся один раз при старте программы. Автоматическую визуализацию при горячем под­клю­че­нии и от­клю­че­нии ис­точ­ни­ков пи­та­ния, а также изменении их параметров, планируется реализовать в по­сле­ду­ю­щих версиях программы.

Power status – текущее состояние электропитания

Закладка формируется на основе параметров, возвращаемых WinAPI функцией GetSystemPowerStatus. Со­хра­не­ны ори­ги­наль­ные имена параметров, приведенные в описании этой функции в MSDN. С этим об­сто­я­тель­ст­вом связан про­пуск про­бе­лов в некоторых строках.

Закладка Power Status информирует о состоянии источника бесперебойного питания

Рис 3. Закладка Power Status информирует о состоянии источника бесперебойного питания

ACLineStatus

Текущее состояние электропитания. Online означает питание от электросети, Offline означает питание от ба­та­реи в условиях отсутствия напряжения электросети.

BatteryFlag

Набор индикаторов для состояний: уровень заряда батареи более 66 процентов, менее 33 процентов, кри­ти­че­ский. А так­же ре­жим заряда (charging), собственно факт наличия батареи и возможность программно определить ее со­сто­я­ние.

BatteryLifePercent

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

SystemStatusFlag

Индицирует активность режима энергосбережения, позволяющего увеличить длительность работы мо­биль­но­го уст­рой­ст­ва от батареи. Как правило, такой режим реализуется за счет снижения производительности. Зна­че­ния Battery saver is OFF, Battery saver ON, характеризуют состояние в текущий момент времени. Кон­крет­ные действия, пред­при­ни­ма­е­мые кон­т­рол­ле­ром элек­т­ро­пи­та­ния определяются схемотехникой по­след­не­го и осо­бен­но­стя­ми драй­ве­ров, что оп­ре­де­ля­ет Ven­dor-Spe­ci­fic по­ли­ти­ку энергосбережения.

BatteryLifeTime

Ожидаемое время работы системы от батареи, при текущем уровне заряда. В силу особенностей реализации под­сис­те­мы мо­ни­то­рин­га, этот параметр может становится доступным в случае отключения сетевого элек­т­ро­пи­та­ния. Зна­че­ние -1 означает, что измерение в данный момент выполнить нельзя.

BatteryFullLifeTime

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

Battery details – детальная информация о батарее

Закладка формируется на основании информации, полученной посредством интерфейса IOCTL (Input-Output Con­trol). Строка, содержащая системное имя устройства, которым оперирует нумератор IOCTL, ви­зу­а­ли­зи­ру­ет­ся в строке Bat­te­ry enu­me­ra­tion path. В зависимости от архитектуры и интеллекта подсистемы элек­т­ро­пи­та­ния, ин­фор­ма­ция мо­жет от­но­сить­ся к конкретной батарее, источнику бесперебойного питания в це­лом, либо про­г­рам­мно фор­ми­ро­вать­ся дра­й­ве­ром без по­лу­че­ния дан­ных из физического устройства.

Закладка Battert Details информирует о состоянии батарей Smart-UPS 750XL

Рис 4. Закладка Battert Details информирует о состоянии батарей Smart-UPS 750XL

Battery tag

Идентификатор, обеспечивающий адресацию ресурсов подсистемы электропитания в рамках операций IOCTL.

Battery model

Модель батареи, возвращается как текстовая строка.

Battery vendor

Название компании производителя батареи, возвращается как текстовая строка.

Manufacture date

Дата выпуска батареи. Возвращается в числовом виде и декодируется программой. Для источников бес­пе­ре­бой­но­го пи­та­ния, как правило возвращается дата выпуска устройства, поскольку батареи UPS не под­дер­жи­ва­ют ка­нал пе­ре­да­чи дан­ных и программное чтение даты выпуска. Замечено, что драйверы, ра­бо­та­ю­щие в сос­та­ве не­ко­то­рых сер­вер­ных ОС, возвращают текущую дату.

Serial number

Серийный номер батареи. Возвращается в виде текстовой строки. Достаточно часто этот параметр не­до­сту­пен.

Unique ID

Уникальный идентификатор батареи. Возвращается в виде текстовой строки. Теоретически, может ис­поль­­зо­вать­ся для фиксации программным обеспечением факта замены батареи. На практике, достаточно часто этот па­ра­метр не­до­сту­пен. Иногда его содержимое повторяет серийный номер.

Battery chemistry

Электрохимический тип батареи. На серверных и виртуализованных системах, данный параметр может быть из­ме­нен или не­до­сту­пен. Например, Oracle Virtual Box возвращает строку «VBOX».

Battery technology flag

Отражает возможность (Rechargeable) или невозможность (Nonrechargeable) перезаряда батареи.

Battery designed capacity

Емкость батареи, определенная при ее разработке. Опционально, может быть представлена в милливатт-часах (mWh) либо ус­лов­ных бал­лах. Замечено также, что ряд серверных платформ используют формат пред­став­ле­ния дан­но­го па­ра­мет­ра, не описанный в базе знаний MSDN. Данное обстоятельство является пред­ме­том ис­сле­до­ва­ний с целью адекватной поддержки в следующих версиях программы.

Battery full charged capacity

Емкость батареи, доступная в ее текущем состоянии (уровень, до которого ее возможно зарядить, с учетом тек­у­ще­го из­но­са, не пу­тать с уровнем, до которого она в данный момент заряжена, это другой параметр Current capacity). Оп­ци­о­наль­но, может быть представлена в милливатт-часах (mWh) либо условных баллах. На основании срав­не­ния это­го па­ра­мет­ра с предыдущим, можно определить степень износа ба­та­реи.

Default alert level #1

Параметр для формирования предупреждения, предполагается, что при снижении заряда батареи до данного уров­ня, фор­ми­ру­ет­ся системное сообщение. Реакция на данное событие, а также соотношение между уров­ня­ми le­vel #1, le­vel #2 (см. также следующий параметр), является Vendor-Specific характеристикой.

Default alert level #2

Параметр для формирования предупреждения, предполагается, что при снижении заряда батареи до данного уров­ня, фор­ми­ру­ет­ся системное сообщение. Реакция на данное событие, а также соотношение между уров­ня­ми level #1, level #2 (см. также предыдущий параметр), является Vendor-Specific характеристикой.

Critical bias

Критический уровень заряда, при достижении которого батарея считается полностью разряженной и от­клю­ча­ет­ся от нагрузки, во избежание разрушения в результате необратимых химических процессов. Возможны Vendor-Specific раз­ли­чия в ин­тер­пре­та­ции этого параметра.

Cycle count

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

Battery temperature

Текущая температура батареи. Программа переводит значение, возвращаемое в Кельвинах, в градусы Цель­сия. К со­жа­ле­нию, подход к формированию данного, весьма информативного и существенного параметра мо­жет раз­ли­чать­ся у раз­ных производителей, включая варианты представления, не документированные в ба­зе зна­ний MSDN.

Current power state

Ряд флагов, характеризующих текущее состояние электропитания. Online: устройство подключено к сети, Charg­ing, Discharging: процессы заряда и разряда батареи, Critical: критический уровень заряда батареи: га­ран­ти­ро­ван­ное пи­та­ние с использованием данной батареи, без ее подзарядки, невозможно.

Current capacity

Текущая заряженная емкость батареи (уровень, до которого она в данный момент заряжена, не путать с уров­нем, до которого она может заряжаться как функция текущего уровня износа, это другой параметр, Battery full charg­ed ca­pa­ci­ty).

Current voltage

Текущее напряжение батареи в вольтах. К сожалению, подход к формированию данного, весьма ин­фор­ма­тив­но­го и су­щест­вен­но­го параметра может различаться у разных производителей, включая варианты пред­став­ле­ния, не до­ку­мен­ти­ро­ван­ные в базе знаний MSDN.

Current rate

Текущая скорость заряда или разряда в милливаттах в час. Положительная величина соответствует заряду, от­ри­ца­тель­ная — разряду.

Загрузить PowerInfo

Скачать утилиту PowerInfo v0.82, пред­наз­на­чен­ную для ин­фор­ми­ро­ва­ния поль­зо­ва­те­ля о под­сис­те­ме элек­т­ро­пи­та­ния мож­но пря­мо с на­ше­го сай­та. На се­год­ня до­ступ­на крос­сплат­фор­мен­ная Java-версия, под­дер­жи­ва­ю­щая 32 и 64-бит­ные ОС Micro­soft Win­dows и Li­nux. За­ме­ча­ния и пред­ло­же­ния о ее ра­бо­те при­вет­ст­ву­ют­ся.