Плюс к автономности: как продлить время работы ноутбука от батареи
Насколько важна большая длительность работы ноутбука от батареи, надеюсь, объяснять не нужно. Летите вы в самолете, едите в поезде либо автобусе, или даже просто сидите с ноутбуком в парке на лавочке – обычно так не хватает этих «последних» 15-20 минут чтобы дописать важный доклад, закончить презентацию, досмотреть интересное видео, дообщаться в соцсетях и досерфить Интернет. Везде, где нам нужен работающий компьютер, а поблизости нет розеток, дополнительный плюс к автономности ноутбука будет не лишним.
Власть советов
Каких только советов не начитаешься в интернете по поводу увеличения автономности ноутбука! «О сколько нам открытий чудных готовит просвещенья дух» - предупреждал великий АС Пушкин. Тут насоветуют и уменьшить яркость экрана на минимум (меньше видишь – крепче спишь), и удалить ненужные программы из автозагрузки (ведь обычно все собирают в автозагрузке коллекцию самых ненужных программ), и отключить проводные и беспроводные сетевые соединения (да кому он вообще нужен, этот интернет, давно пора его запретить), и даже почистить ноутбук от пыли или перенести его в прохладное место. Я не стану пересказывать или комментировать подобные советы. Кипы подобных изжеванных рекомендаций вы легко нагуглите поисковиком. Вместо них я дам вам всего один «рецепт». Простой, как каша из топора. И научно выверенный, как второй закон Ньютона в инерциальных системах отсчета. Сидите вы с ноутбуком в удобном кресле, или прозябаете с ним в холодном погребе начитавшись советов из интернета – мой «рецепт» будет одинаково хорош. И абсолютно эффективен вне зависимости от того, какой план электропитания Windows используется на ноутбуке.
Немного теории
Windows предлагает пользователю переключаться между разными планами электропитания. Это прекрасно! Но заглянув в любой из них, легко убедиться, что Windows всегда готова эксплуатировать процессор на максимальной частоте.
Тогда как пользователю, использующему ноутбук в автономном режиме, столь избыточная производительность не нужна. Например, мой домашний ноутбук имеет максимальную частоту процессора 2,39 ГГц. В то же время при частоте процессора 1,6 ГГц на нем вполне сносно можно играть в FarCry 3, а на частоте процессора 800 МГц компьютеру вполне по силам справится с просмотром веб-страниц, текстовыми редакторами, простеньким редактированием графики, конвертированием/чтением pdf, подготовкой презентаций, просмотром видео и т.д. Но ведь не секрет, что если в автономном режиме на ноутбуке открыто всего несколько веб-страниц с анимацией, плюс еще висят фоновые задачи – частота процессора так и норовит подскочить до максимальной. И расход энергии батареи также прыгает вверх. Но зачем использовать эти 2,39 ГГц, 2,26 ГГц или даже 1,6 ГГц, если для полноценной автономной работы вполне достаточно 800 МГц? И при этом 800 МГц – еще и существенная экономия энергии.
Можно ли вручную уменьшить аппетиты процессора? Windows это позволяет. Вручную ограничить частоту работы процессора можно, изменяя в плане электропитания % в пункте «Максимальное состояние процессора». Не стоит, впрочем, думать, будто частота работы процессора изменяется строго в соответствии с этими процентами. Указанный процент задает верхний предел, выше которого процессор «перейти» не сможет, работая только на множителях, подпадающих под указанное ограничение. Например, в случае с моим домашним ноутбуком, уменьшив значение «Максимальное состояние процессора» в поле «От батареи» до 90% или 75%, получим одно и то же верхнее ограничение по частоте – 1,6 ГГц (множитель частоты шины х6), поскольку эта частота составляет 70% от номинальной частоты процессора 2,26 ГГц и попадает под указанное ограничение. (Именно номинальная частота 2,26 ГГц принята за 100%, максимальная частота процессора выше номинальной; повышенную частоту 2,39 ГГц процессор особенно активно использует в режиме электропитания «Высокая производительность», но при этом ноутбук совершенно без толку греется). Если же выбрать уровень «максимального состояния процессора», скажем, от 0 до 50% – процессор будет работать только на частоте 800 МГц. В результате ноутбук сэкономит энергию, причем как за счет снижения частоты процессора, так и за счет уменьшения напряжения питания на низких частотах. Примерно можно даже прикинуть, какова экономия. Как известно, упрощенно энергопотребление процессора вычисляется по формуле:
Р=С*V^2*f,
где:
Р – уровень энергопотребления процессора;
С – емкость процессора;
V – напряжение питания процессора;
f – частота процессора.
Используя несложную пропорцию с цифрами на приведенных скриншотах, легко подсчитать, что принудительно снизив частоту процессора до 1,6 ГГц, сэкономим около 50% энергии, а снизив ее до 800 МГЦ – уменьшаем энергопотребление процессора более чем в 4 раза! Поскольку процессор занимает немалую долю в общем энергопотреблении ноутбука, столь существенное снижение его «аппетита» должно привести к неплохому увеличению автономности. К сожалению, проверить это на домашнем ноутбуке уже не удалось. Весьма некстати, неожиданно и скоропостижно, на нем скончалась уже вторая батарея. Покупать новый или переупаковывать нынешний аккумулятор я уже просто не хочу – ведь ноутбук «в летах», и рациональнее будет потратить деньги на его достойную замену с каким-нибудь скромным Skylake внутри.
Переход к практике
Раз с домашним ноутбуком не сложилось, натурные эксперименты придется проводить на рабочем ноутбуке, батарея которого находится в добром здравии. Это ноутбук Dell Inspiron 3542, оснащенный процессором Intel Pentium 3558U с максимальной частотой 1,7 ГГц. И пусть в тестах производительности этот процессор призовые места не занимает, зато он очень экономный – его максимальная рассеваемая мощность всего 15 Вт. Тем более интересно будет взглянуть на результаты экономии на экономном процессоре, простите за каламбур…
Процессор Pentium 3558U настоящий универсал – в работе он использует просто тучу всевозможных множителей от х8 до х17. Поэтому чтобы гарантированно перевести его на минимальный множитель в режиме работы от батареи, пришлось «нарисовать» ему 10% максимальной производительности в «плане электропитания». Тут можно в принципе указать любые цифры от 0 до 50% - результат будет одинаков.
Тестирование автономности ноутбука проводилось в режиме «Сбалансированный» при 90%-ной яркости экрана и с сетевым подключением по Ethernet. В ходе теста на ноутбуке выполнялись обычные рабочие задачи – работа с веб-браузером, текстовым редактором, работа с графикой и pdf. В браузере в общей сложности было открыто 35 веб-страниц, половина из которых – текущие актуальные рабочие задачи в «Мегаплане». Для более быстрого расхода батареи ноутбука в фоновом режиме циклически воспроизводился коротенький минутный avi ролик, дополнительно загружающий процессор. Это было сделано, чтобы ускорить разряд батареи, поскольку ноутбук Dell довольно «живуч» без подключения к розетке. В ходе работы с параметром «Максимальное состояние процессора 100%», частота процессора постоянно прыгала от 800 МГц – через множители – до 1700 МГц, то есть энергопотребление было типично «рабочим», а не максимальным. При более сильной нагрузке на процессор выигрыш в автономности был бы еще больше.
Если говорить о производительности, то никакого дискомфорта при работе процессора на частоте 800 МГц я как пользователь не испытывал вообще. Дискомфорт на рабочем ноутбуке я скорее ощущаю из-за отсутствия SSD, который давно стоит в домашней модели.
Параметры сравниваемых частот работы и напряжения питания процессора Pentium 3558U таковы:
По вышеприведенной формуле элементарно вычислить, что энергопотребление процессора на минимальной частоте составляет примерно треть от максимальной величины. На более производительном ноутбуке эта разница будет еще большей.
Итак, при возможности работы с максимальной частотой процессора ноутбук проработал от батареи 2 часа 24 минуты.
При ограниченной вручную минимальной частоте процессора ноутбук поработал 2 часа 58 минут в тех же условиях.
Время работы автономной работы замерялось от состояния 100% заряда батареи и до появления сообщения о 7%-ном остатке заряда и необходимости подключить внешнее питание.
Даже принимая во внимание не идеальную чистоту эксперимента, разницу в 34 минуты никак нельзя назвать случайной. Это следствие экономного подхода к энергопотреблению процессора, которое вылилось в 24%-ный прирост времени автономности. То есть время автономной работы ноутбука выросло на четверть, и это безусловно превосходный результат! Как видим, наш способ отлично работает.
Может ли нечто подобное пригодится на десктопе? Вполне. Например, представьте, домашний сервер c неким энергоэффективным процессором с частотой 2,5 ГГц. Он отлично справляется с функциями медиа-хранилища, обслуживанием средств бекапа электронных семейных ценностей, играет роль альтернативного телевизора, выполняет функции школьного компьютера и печатной машинки, является окном в интернет. Но иногда… Иногда на нем запускаются современные 3D игры или видеомонтаж. По такому случаю сей скромный процессор разогнан до частоты 3,3 ГГц. Естественно, большую часть времени столь высокая частота процессора данному компьютеру не нужна. Однако открыв пару окон браузера с детскими играми, можно запросто инициировать переход процессора на максимальную частоту. Ладно энергопотребление, оно здесь не критично, но неприятно другое – на максимальной частоте процессор быстро нагревается, и кулер охлаждения начинает автоматически включать максимальные обороты вентилятора, создавая шум. Хотя этот шум и не сильный, но вечером или ночью он довольно заметен и совсем не радует слух, тем более что шум еще и не постоянный – вентилятор то раскручивается на максимум, то снова сбавляет обороты. Чтобы побороть эту неприятность, можно создать план электропитания, в котором перевести процессор на «экономные» частоты 1,6 ГГц или 2,66 ГГц – и можно наслаждаться работой в тишине, когда вентилятор стабильно работает на невысоких оборотах. А потребуется игра или видеомонтаж – быстро сменяем план электропитания на «Высокая производительность» и наслаждаемся всеми преимуществами разогнанного процессора без каких-либо долгих ковыряний в BIOS, UFI или программах оверклокинга.
Коматозники в строю
Есть мобильные процессоры, быстродействие которых даже на максимальной частоте вызывает вопросы улыбку. Это недорогие мобильные процессоры компании AMD. В оценке индекса производительности Windows эти процессоры стабильно умудряются оказаться «самым слабым звеном», что в системах на базе процессоров Intel встречается довольно редко. К медлительным процессорам вышеописанный подход продления автономности тоже применим. Однако производительность такого процессора на минимальной частоте может несколько нервировать пользователя. Чтобы хоть как-то заставить этих «коматозников» активнее «шевелить транзисторами», предлагаю попробовать следующее. Как говорится, мопед ноутбук не мой, но мне показалось что это работает. Возможно это были чисто субъективные ощущения. Но в любом случае попробуйте, вдруг понравится...
Как известно, по умолчанию ядро несерверных версий Windows само решает сколько процессорного времени выделить тому или иному работающему процессу, и раздает процессорное время небольшими порциями. Плюс раздаваемые интервалы процессорного времени еще и переменной длительности, которая опять же устанавливается ядром «от фонаря». Если ядро вдруг затупит с раздачей процессорного времени или ошибется с приоритетами задач (ведь программисты Майкрософт тоже люди), какое-либо приложение может получить слишком большой или даже монопольный контроль над процессорным временем. И компьютер уходит в «коматозное» состояние, вплоть до невозможности работы с приложениями (операционная система просто не реагирует на действия пользователя), хотя диспетчер задач бодро рапортует о невысокой загрузке процессора. Иногда даже доходит до «замирания» курсора и создается впечатление что компьютер «завис». Но на самом деле это не так, и по происшествии некоторого промежутка времени (иногда довольно длительного) компьютер вдруг неожиданно «оживает». Думаю, немало пользователей сталкивались с подобной ситуацией. Полностью искоренить это явление нельзя, поскольку приоритеты исполняемым задачам назначаются Windows в автоматическом режиме (можно и вручную, но это уже откровенное мазо). Но зато раздавать процессорное время всем исполняемым потокам равными гарантированными порциями, а не как взбредет в алгоритм ядру Windows, мы вполне можем попробовать. И это будет неплохое «антикоматозное» средство.
Сделать нужную настройку просто – достаточно изменить режим работы, выбрав приоритет для служб, работающих в фоновом режиме.
Именно такой режим работы предусматривает использование более длинных и совершенно одинаковых интервалов процессорного времени для всех исполняемых потоков. И этот алгоритм работы, как мне показалось, «вдыхает» жизнь в бюджетные ноутбуки на базе процессоров AMD. Видимо такой режим более «предсказуем» для планировщика ядра процессоров АMD, поскольку в результате загруженность ядер несколько снижается на тех же самых задачах и в целом система становится отзывчивее к действиям пользователя. Единственное, не запускайте в таком режиме ресурсоемкие фоновые задачи одновременно с играми – игра станет подтормаживать, так как больше не сможет нагло отнимать процессорное время у фоновых приложений. Еще раз подчеркиваю, это субъективная оценка и возможно она не отражает полную картину. Пробуйте.
Итого
Описанный метод продления автономности ноутбука идеально подходит всем, кому нужна более длительная работа устройства от батарей. Особенно владельцам ноутбуков с батареями не первой свежести.
За сим позвольте раскланяться, но я не прощаюсь…
P.S. …Наступного разу я розповім вам повчальну історію по «Граблі Вай Фая». Ми разом посміємось над багаточисельними налаштуваннями безпеки, швидкості Wi-Fi, та мудрими порадами «експертів», які заполонили інтернет. Ви готові?!
- Так, капітан! (С) Губка Боб Квадратніштани