Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Поделитесь успехами снижения энергопотребления Core i7/i5/i3 на 12.04  (Прочитано 7412 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kitaets

  • Автор темы
  • Активист
  • *
  • Сообщений: 571
  • Аналитик
    • Просмотр профиля
Спасибо, посмотрю.
Подробно анализировать сейчас некогда. Сразу бросилось в глаза вот это:
# echo 1 > /sys/devices/system/cpu/sched_mc_power_savings #включаем энергосбережение
# echo 0 > /sys/devices/system/cpu/sched_mc_power_savings #выкл
# Hyper-threading (если имеется)
# echo 1 > /sys/devices/system/cpu/sched_smt_power_savings #включаем энергосбережение
# echo 0 > /sys/devices/system/cpu/sched_smt_power_savings #выкл
Зачем включать энергосбережение и сразу же его выключать?

Про костыли: если плохо отрабатывается при загрузке, надо прописать вызов скрипта в /etc/rc.local.
«Если ты не наступил на грабли, это не значит, что их нет», – kitaets.

Оффлайн tmrsh

  • Новичок
  • *
  • Сообщений: 48
    • Просмотр профиля
Забыл сказать, что этим способом смог увеличить продолжительность работы от батареи от 1-40 до 2-40 при максимальной нагрузке и при простое 3-40

Пользователь решил продолжить мысль 26 Сентября 2012, 13:30:30:
Спасибо, посмотрю.
Подробно анализировать сейчас некогда. Сразу бросилось в глаза вот это:
# echo 1 > /sys/devices/system/cpu/sched_mc_power_savings #включаем энергосбережение
# echo 0 > /sys/devices/system/cpu/sched_mc_power_savings #выкл
# Hyper-threading (если имеется)
# echo 1 > /sys/devices/system/cpu/sched_smt_power_savings #включаем энергосбережение
# echo 0 > /sys/devices/system/cpu/sched_smt_power_savings #выкл
Зачем включать энергосбережение и сразу же его выключать?

Про костыли: если плохо отрабатывается при загрузке, надо прописать вызов скрипта в /etc/rc.local.

Это примеры в качестве коментария для удобства если что то править придется - немного теории накидал для себя!

Пользователь решил продолжить мысль 26 Сентября 2012, 14:56:44:
Что тут сказать, пришлось сделать это
меняем в smps.sh строки sh /etc/smps/smps_config.sh;  на sh /etc/pm/power.d/99-power.sh
sudo chmod +x smps.sh && sudo chmod +x 99-power.sh
Демон для того чтобы настройки не сбрасывались при старте
в sudo cp smps.sh /usr/bin/smps/
прописываем smps.sh в sudo gedit /etc/rc.local - > sh /usr/bin/smps/smps.sh
sudo cp 99-power.sh /usr/lib/pm-utils/power.d/ && cd /usr/lib/pm-utils/power.d && sudo install 99-power.sh /etc/pm/sleep.d/ && sudo install 99-power.sh /etc/pm/power.d/
Скрестил твое и второй вариант
лишь так у меня при старте не сбрасывает в дефаулт и корректно система реагирует на события
простое добавление скрипта в /etc/rc.local без цикла проверки ничего не дало
без костыля никак, есть еще предложения?
« Последнее редактирование: 26 Сентября 2012, 15:07:35 от tmrsh »

Оффлайн kitaets

  • Автор темы
  • Активист
  • *
  • Сообщений: 571
  • Аналитик
    • Просмотр профиля
tmrsh,
echo цифра > /sys/class/backlight/intel_backlight/actual_brightness- это очень круто. Я уж расстраивался, что на новом буке яркость не приглушается так сильно, как на старом Eee, а выясняется теперь, что это программные ограничения :) НО! Яркость возвращается в прежнее состояние через несколько секунд простоя, т.к. срабатывает функция, которая должна приглушать яркость при простое, но в данном случае она увеличивает яркость, т.к. устанавливает минимальное значение яркости из известных ей. В общем, надо отключать эту функцию.

Вот это:
# Частота процессора
for j in /sys/devices/system/cpu/cpu?/cpufreq/scaling_setspeed ; do echo "800000" > $j ; done
# Профили работы процессора (ondemand, powersave, conservative, userspace)
for ij in /sys/devices/system/cpu/cpu?/cpufreq/scaling_governor ; do echo "userspace" > $ij ; done
в случае, если 800000 - минимальная частота для данного процессора, равнозначно одной строке:
for ij in /sys/devices/system/cpu/cpu?/cpufreq/scaling_governor ; do echo "powersave" > $ij ; doneПодробности - в английской Википедии.

Назначать в разных невложенных циклах разные переменные - вредно (хоть и не очень), лучше везде указать i.

Теперь - глобально по поводу "недержания" настроек :)
Я бы поковырял ещё, чтобы отказаться от резидентных костылей "по второму варианту". Надо данный скрипт переделать в другой, который будет не писать, а читать настройки и скидывать их в файл. Отменить костыли, и в тот момент, когда есть подозрения, что настройки вернулись в неэкономичный режим, запустить этот скрипт. И посмотреть, что же там действительно сбивается. Я подозреваю, что сбрасывается только яркость экрана по вышеуказанной причине.
«Если ты не наступил на грабли, это не значит, что их нет», – kitaets.

Оффлайн tmrsh

  • Новичок
  • *
  • Сообщений: 48
    • Просмотр профиля
tmrsh,
echo цифра > /sys/class/backlight/intel_backlight/actual_brightness- это очень круто. Я уж расстраивался, что на новом буке яркость не приглушается так сильно, как на старом Eee, а выясняется теперь, что это программные ограничения :) НО! Яркость возвращается в прежнее состояние через несколько секунд простоя, т.к. срабатывает функция, которая должна приглушать яркость при простое, но в данном случае она увеличивает яркость, т.к. устанавливает минимальное значение яркости из известных ей. В общем, надо отключать эту функцию.
В моем случае срабатывает это:
echo Число > /sys/class/backlight/intel_backlight/brightness
а по
cat /sys/class/backlight/intel_backlight/actual_brightness
я смотрю результат текущего состояния, не считая визуального
Спасибо за совет, возможно общими усилиями что нибудь и выйдет!
Хочу уточнить что не все настройки как выяснилось слетают при старте из приведенного мною примера а лишь:
# Частота процессора
for j in /sys/devices/system/cpu/cpu?/cpufreq/scaling_setspeed ; do echo "Число" > $j ; done
# Профили работы процессора (ondemand, powersave, conservative, userspace)
for ij in /sys/devices/system/cpu/cpu?/cpufreq/scaling_governor ; do echo "Значение" > $ij ; done
это меня и удивило, значит скрипт отрабатывает частично, по крайней мере точно скажу что яркость срабатывает и остается в указанном значении , а так же отключается дискретка (остальные наверное совпадают с дефолтными - не проверял)
И по поводу частоты 800000 - у меня проц i7 2,2ГГц (ноут HP dv6), как выяснилось и при минимальной частоте он справляется на ура, а занизил еще при питание от сети чтоб не грелся и не шумел вентиль, уж оч шумновато бывает
Таким образом температура проца не привышает 60-62 градуса (у него критическая 100) при максимальной нагрузке (при минимальной 43-50), без занижения частоты доходило до 85-90 градусов с включенной при этом дискреткой. Не трудно догадаться как корпус изнемогал от жары - прикоснуться нельзя

Пользователь решил продолжить мысль 27 Сентября 2012, 04:26:01:
Теперь - глобально по поводу "недержания" настроек :)
Печалит эта ситуация, решить бы!
« Последнее редактирование: 27 Сентября 2012, 04:29:58 от tmrsh »

Оффлайн kitaets

  • Автор темы
  • Активист
  • *
  • Сообщений: 571
  • Аналитик
    • Просмотр профиля
В моем случае срабатывает это:
echo Число > /sys/class/backlight/intel_backlight/brightnessа по
cat /sys/class/backlight/intel_backlight/actual_brightnessя смотрю результат текущего состояния, не считая визуального
Упс... Я не то скопировал :) Конечно, /sys/class/backlight/intel_backlight/brightness :)

Спасибо за совет, возможно общими усилиями что нибудь и выйдет!
Хочу уточнить что не все настройки как выяснилось слетают при старте из приведенного мною примера а лишь:
# Частота процессора
for j in /sys/devices/system/cpu/cpu?/cpufreq/scaling_setspeed ; do echo "Число" > $j ; done
# Профили работы процессора (ondemand, powersave, conservative, userspace)
for ij in /sys/devices/system/cpu/cpu?/cpufreq/scaling_governor ; do echo "Значение" > $ij ; done
Воооот! Я сначала тоже в скрипте устанавливал частоту, но оно не держалось, а потом я заменил винт на флэш, переустановил систему и сделал просто powersave:
for ij in /sys/devices/system/cpu/cpu?/cpufreq/scaling_governor ; do echo "powersave" > $ij ; doneИ оно жёстко держит проц на минимальной частоте. А userspace нужен для жёсткой установки неминимальной частоты.
«Если ты не наступил на грабли, это не значит, что их нет», – kitaets.

Оффлайн tmrsh

  • Новичок
  • *
  • Сообщений: 48
    • Просмотр профиля
Продолжая обсуждение выше...

Скрипт не прорабатывает лишь первую примерно минуту при старте машины и что не делай все приходит в дефаулт. Извиняюсь перед автором статьи ЭтоЙ, но я видоизменил немного демон (/usr/bin/smps/smps.sh), а именно был убран бесконечный цикл и все робит прекрасно! И костылик теперь не так жесток)
Демон «Switch Mode Power Supply»
#!/bin/sh
# Автор Кровавый
# https://forum.ubuntu.ru/index.php?action=profile;u=58102
# скрипт распространяется по лицензии GPLver.2
# выходим из текущей консоли
exec >   /dev/null
exec 2> /dev/null
exec <   /dev/null
sleep 10;
#####################################
# запускаем конфигуратор сразу, дабы выставить нужные параметры
sh /etc/pm/power.d/99-power.sh;
#####################################
# получаем статус адаптера сейчас
if on_ac_power; then StateOld="1"; else StateOld="0"; fi
#####################################
# Изменено - запускаем цикл с интервалом в 10 сек в течении 1й минуты - проверяя, что сейчас и что в файле
# если необходимо, чтобы на просто SIGTERM не реагировал
# trap "" TERM
x="0";
while [ "$x" != "7" ]; do
# статус адаптера на данный момент
if on_ac_power; then StateNow="1"; else  StateNow="0"; fi
# сравниваем с новым
if [ "$StateNow" != "$SateOld" ];
# переписываем состояние и меняем состояние в конфигурационных файлах
then
StateOld=$StateNow;
sh /etc/pm/power.d/99-power.sh;
fi
x=$(expr $x+1);
# пауза, да бы не загружать процессор
sleep 10;
done
# Финишь!
« Последнее редактирование: 11 Октября 2012, 12:08:33 от tmrsh »

Оффлайн JimZ

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
http://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html

Пробовал разное, остановился на TLP.
Легко настраивается. Есть и неочевидные твики.


Оффлайн qazawaq

  • Участник
  • *
  • Сообщений: 136
    • Просмотр профиля
Поучительно!Но для меня затруднительно,т.к. Новичок в линуксе)хочу задать несколько вопросов,но тему не хотел создавать,потому что для многих они пустяковые..собственно оперативы стоит 4+2 ,думаю оставить 4,это же должно снизить электропотребление?,потаму что использую максимум 3
И от работы батареи зависает беспроводная мышь,секунды 1-2,если ей двигать постоянно то проблем нет,раньше этого небыло,стоит утилита синаптикС,тачпад работает без проблем,можно ли это исправить?

Оффлайн kitaets

  • Автор темы
  • Активист
  • *
  • Сообщений: 571
  • Аналитик
    • Просмотр профиля
qazawaq,
Используется ли какая-нибудь утилита для снижения энергопотребления? jupiter или TLP или скрипты? Объяснение только такое: утилита усыпляет usb-dongle после небольшой неактивности. Я когда-то столкнулся с тем, что проводная мышь вырубается при простое при работе от батареи. Но я с этим никак не боролся, т.к. если уж снижать энергопотребление, то в первую очередь надо избавиться от мыши, а не от лишней памяти. Хотя, лишняя память, конечно, тоже "кушать" просит, но мне думается, что это будет не так уж заметно. В конце концов, можно просто вытащить и проверить.
«Если ты не наступил на грабли, это не значит, что их нет», – kitaets.

Оффлайн qazawaq

  • Участник
  • *
  • Сообщений: 136
    • Просмотр профиля
kitaets,
стоит powertop , на сколько понял она идет уже из коробки,единственное что сделал отключил опрос сидирома,ну и так несколько строчек в утилите привел к показателю Good .
Ноутбук курсирует исключительно по дому,по этому особо не ставил задачу максимальной работы от батареи,собственно на нем батарея слабая ,производитель характеризует ее как до 3 часов работы,но на деле с виндой ,этого хватало только на просмотр одного фильма,максимум!
Ради интереса поставил Ubuntu для этого,на ней дольше работает даже без лишних настроек,приятно удивил вообще весь линукс,поэтому так и остался на Ubuntu вместо "микрософта"
Оперативу все же попробую снять,поскольку ноутбук сам по себе довольно "теплый",когда работает от сети,надеюсь что и греться будет поменьше,хоть и совсем чуть..но все же)
 Планирую взять еще один ноут,для работы,буду ставить исключительно Linux!На нем конечно же будет использоваться только тачпад и все..чтобы максимально эффективно использовать батарею) Пока что решаю какое железо и читаю полезную инфу про Ubuntu)

Оффлайн CTaPblu ETyH

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Забыл сказать, что этим способом смог увеличить продолжительность работы от батареи от 1-40 до 2-40 при максимальной нагрузке и при простое 3-40

Пользователь решил продолжить мысль 26 Сентября 2012, 13:30:30:
Спасибо, посмотрю.
Подробно анализировать сейчас некогда. Сразу бросилось в глаза вот это:
# echo 1 > /sys/devices/system/cpu/sched_mc_power_savings #включаем энергосбережение
# echo 0 > /sys/devices/system/cpu/sched_mc_power_savings #выкл
# Hyper-threading (если имеется)
# echo 1 > /sys/devices/system/cpu/sched_smt_power_savings #включаем энергосбережение
# echo 0 > /sys/devices/system/cpu/sched_smt_power_savings #выкл
Зачем включать энергосбережение и сразу же его выключать?

Про костыли: если плохо отрабатывается при загрузке, надо прописать вызов скрипта в /etc/rc.local.

Это примеры в качестве коментария для удобства если что то править придется - немного теории накидал для себя!

Пользователь решил продолжить мысль 26 Сентября 2012, 14:56:44:
Что тут сказать, пришлось сделать это
меняем в smps.sh строки sh /etc/smps/smps_config.sh;  на sh /etc/pm/power.d/99-power.sh
sudo chmod +x smps.sh && sudo chmod +x 99-power.sh
Демон для того чтобы настройки не сбрасывались при старте
в sudo cp smps.sh /usr/bin/smps/
прописываем smps.sh в sudo gedit /etc/rc.local - > sh /usr/bin/smps/smps.sh
sudo cp 99-power.sh /usr/lib/pm-utils/power.d/ && cd /usr/lib/pm-utils/power.d && sudo install 99-power.sh /etc/pm/sleep.d/ && sudo install 99-power.sh /etc/pm/power.d/
Скрестил твое и второй вариант
лишь так у меня при старте не сбрасывает в дефаулт и корректно система реагирует на события
простое добавление скрипта в /etc/rc.local без цикла проверки ничего не дало
без костыля никак, есть еще предложения?

после данного метода стала подвисать беспроводная мышка (не блютус), в чем может быть причина?
правда Ubuntu 13.10

решил добавлением в 99-power.sh в режим энергосберегания
for i in /sys/bus/usb/devices/*/power/autosuspend ; do echo 0 > $i ; done
for i in /sys/bus/usb/devices/*/power/level ; do echo on > $i ; done
« Последнее редактирование: 06 Декабря 2013, 17:34:45 от CTaPblu ETyH »

Оффлайн Дмитрий П.

  • Участник
  • *
  • Сообщений: 100
    • Просмотр профиля
Мой-то и так без подкручиваний больше 3 часов тянет. Но заявлено до 8 часов, так что пытаюсь получить хотя бы шесть при слабой нагрузке. К тому же, пишут, что в винде он тихий, а у меня пропеллер не останавливается.
[/quote]
    Заявленное время довольно часто завышают, иногда - сильно. Попробуй посмотреть информацию о твоей модели в других магазинах или почитать отзывы на Яндекс маркете. Возможно, так и должно быть.

 

Страница сгенерирована за 0.021 секунд. Запросов: 22.