пятница, 24 июля 2009 г.

Установка ядра 2.6.30 ubuntu

(Продолжение. Начало статьи)

Хотя эта статья была актуальна для Ubuntu версии до 10.04, я решил ее оставить в ознакомительных целях.
... и как оказалось не зря.

Не все ёгурты одинаково полезны ядра одинаково расходуют электричество. Совсем недавно известный линуксовый сайт Phoronix провел пару исследований о зависимости расхода электричества от верси ядра:

Как видно из представленного графика лучшее, с точки зрения сохранения энергии, ядро 2.6.34. Но оно достаточно старое и может не поддерживать новое оборудование. Поскольку "нужно ехать, а не шашечки" стоит попробавть это ядро.
К сожалению в моем Thinkpad x220 с этим ядром не определился адаптер дисплея, клавиатура и bluetooth.
А в x200s оно работает очень хорошо.

В ядрах поставляемых с Ubuntu 10.10, 11.04 отключен флаг CONFIG_PM_ADVANCED_DEBUG этот флаг позволяет программам типа powertop собирать дополнительную диагностическую информацию. Чтобы установить этот флаг нужно ядро перекомпилировать.

Установка ядра из архива ubuntu


Наиболее простой, надежный и предпочтительный способ.

Выберите приглянувшееся ядро из архива http://kernel.ubuntu.com/~kernel-ppa/mainline

$ wget -c \ http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30.5/linux-headers-2.6.30-02063005_2.6.30-02063005_all.deb \ http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30.5/linux-headers-2.6.30-02063005-generic_2.6.30-02063005_i386.deb \ http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30.5/linux-image-2.6.30-02063005-generic_2.6.30-02063005_i386.deb $ sudo dpkg -i \ linux-headers-2.6.30-02063005_2.6.30-02063005_all.deb \ linux-headers-2.6.30-02063005-generic_2.6.30-02063005_i386.deb \ linux-image-2.6.30-02063005-generic_2.6.30-02063005_i386.deb


Компиляция ядра


В нашем случае смысла не имеет. Большинство патчей, указанных в http://www.lesswatts.org/ уже присутствуют в новом ядре. А те, которые не включены - на потребление влияют слабо.
Все течет, все меняется. И поменялось мое отношение к необходимости компиляции ядра. В борьбе за ватты у меня на ядре 3.1 с патчем 3.1.5-pf получилось потребление в режиме idle чуть больше 6 Вт.


Инструкция по копиляции с наложением указанного патча находится здесь: HowTo: Собираем ядро 3.1 с патчами pf-kernel.
Патч здесь: patch-3.1.5.bz2


Полезные ссылки:

ThinkPad x200s. Что влияет на потребление энергии.

(Продолжение. Начало статьи)

По информации с сайта http://www.gentoo.org/doc/en/power-management-guide.xml влияние компонентов компьютера и операционной системы на потребление энергии примерно такое:


Этот график очень условный и отражает примерное соотношенние потребляемой мощности в каком то из состояний компьютера.

Соотношение между входящими в него компонентами может меняться. Например, мы уменьшили потребление энергии графической подсистемы с 30 до 5 %. Это значит, что доля вклада остальных потребителей энергии увеличилась.

Вот зависимость потребляемой мощности от уровня подсветки дисплея, снятая экперементально для ThinkPad x200s:

Выбирая яркость стоит помнить о реальных ваттах.

Стоит ли экономить миливатты? Я думаю да.
Вот почему. Ubuntu "из коробки" на x200s потребляет около 14 Вт.
0,1 Вт на этом уровне дает прибавку во времени около 0,7% (1,5 мин)

После тюнинга та же Ubuntu потребляет около 7 Вт.
0,1 Вт экономии составляет уже более 5 минут.

Вроде немного, но таких подсистем около десятка.

  • powerTOP

    Я установил powerTOP и выполнил все рекомендации, которые он давал.

    • Текущая версия - 1.11. Версия 1.11 > 1.9

    for i in /sys/class/scsi_host/host*/link_power_management_policy do echo min_power > $i done echo 1500 > /proc/sys/vm/dirty_writeback_centisecs

    Добавить usbcore.autosuspend=1 to the kernel в командную строку grub config, либо
    echo 1 >/sys/module/usbcore/parameters/autosuspend
  • Управление многопоточностью процессора *
    ( -0.1 - 0.0Вт)
    # echo 1 > /sys/devices/system/cpu/sched_mc_power_savings

  • Управление производительностью процессора *
    Устанавливается минимальная частота процессоров
    for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo powersave > $i; done

    Частота процессоров меняется в зависимости от нагрузки
    for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo ondemand > $i; done

  • Отключение ядер CPU

    for i in /sys/devices/system/cpu/cpu*/online; do echo 1 > $i; done

  • Ethernet *
    Выключение WOL (-0.1Вт)
    # ethtool -s eth0 wol d
    Отключение гигабитного интерфейса (-1.1Вт)
    Эта команда выполняется и дает эффект только когда есть соединение по ethernet. В противном случае выдается ошибка.
    # ethtool -s eth0 autoneg off speed 100

  • Wi-Fi * (от -0.8Вт до -4Вт)
    Можно управлять мощностью сигнала Wi-Fi непосредственно записывая в виртуальный файл "/sys/bus/pci/drivers/iwlagn/0000:03:00.0/power_level"
    # echo 5 > /sys/bus/pci/drivers/iwlagn/0000:03:00.0/power_level

    Но это может не работать в будующих версиях, что и произошло в Ubuntu 10.04. В этой версии виртуальный файл power_level поменял свое название на tx_power.

    Поэтому лучше управлять Wi-Fi картой через программный интерфейс iwconfig

    Установить уровень сигнала передатчика 5dBm и включить автоматический режим сохранения энергии
    # iwconfig wlan0 power on # iwconfig wlan0 txpower 5 # iwconfig wlan0 timeout 500ms
    Может оказаться, что режим энергосбережения не совместим с протоколом B+G+N, который обеспечивает скорости передачи больше, чем 54 Mb/s.
    Поэтому на точке доступа в секции wifi нужно установить протокол 801.11 b/g


  • Управление потреблением звуковой подсистемы
    ( -0.5.0Вт)
    # echo 10 > /sys/module/snd_hda_intel/parameters/power_save

  • Управление вентилятором
    Вентилятор управляется автоматически. Лучше здесь ничего не трогать. Можно и распрощаться с ноутом. Состояние можно посмотреть так:
    # cat /proc/acpi/ibm/fan
    Если уж невмоготу, то здесь написано как управлять вентилятором

  • Управление HDD *
    (-0,5 Вт)
    Еще одна возможность выключения диска
    # hdparm -B 1 -S 12 /dev/sda

  • Отключение HDMI *(-0.2 Вт)
    # xrandr --output HDMI-1 --off # xrandr --output HDMI-2 --off

  • Агрессивное управление PCI*(-1.5 Вт)
    При компиляции ядра была установлена соответсвующая константа CONFIG_PCIEASPM
    Проверить, что эта опция доступна
    # cat /sys/module/pcie_aspm/parameters/policy [default] performance powersave

    Установить режим powersave
    # echo powersave > /sys/module/pcie_aspm/parameters/policy

  • Настройка параметров виртуальной памяти * *
    Уменьшаем количество обращений к диску.
    swappiness - уровень свободной памяти в процентах, при котором система сбрасывает память в swap. При значении 0 swap отключается. (default: 60).
    # echo 10 > /proc/sys/vm/swappiness

    Как часто ядро должно проверять есть ли "грязные" (измененные) данные для записи на диск
    # echo 1500 > /proc/sys/vm/dirty_writeback_centisecs

    Насколько старыми должны быть данные, что бы ядро записало их на диск
    # echo 0 > /proc/sys/vm/dirty_expire_centisecs

    Минимальное процент памяти , где позволено хранить старые данные вместо записи на диск
    # echo 60 > /proc/sys/vm/dirty_background_ratio

    Максимальный размер памяти в процентах, для хранения "грязных" до записи их на диск.
    # echo 95 > /proc/sys/vm/dirty_ratio


Полезные ссылки:


Upd 12/12/2010
Upd 28/07/2011

среда, 22 июля 2009 г.

Купил Lenovo thinkPad x200s

Заплатил 45 000 рублей. Оказался очень замечательным. Обзоров в сети много, поэтому ничего повторять не буду. Приведу спецификацию. Она может пригодиться при компиляции ядра. Опишу только личные ощущения. Дизайн (красивости): никакой. Но это визитная карточка ThinkPad. Эргономика: одна из лучших для ноутбуков. Размер: за счет широкоэкранного дистплея размер чуть больше, чем x60. Благодаря этому клавиатура стала посвободней. Дисплей: качества хорошего, но могли бы сделать побольше разрешение. Скорость работы: на высоте. Убунта встала сразу и без напильника. В целом доволен. Что не нравится - так это время работы. Всего 3,5 часа. Видимо напильник потребуется.

вторник, 21 июля 2009 г.

Грабли (FAQ)

  1. Не запускается transmission, telnet Обычно это происходит, когда не запущен ftp сервер на HDX 1000

Установка transmission GUI

Для transmission Юрием Сидоровым разработан GUI интерфейс. GUI дает несколько больше возможностей по представлению информации и управлению закачкой нежели web интерфейс. Домашняя страничка программы находится по адресу http://code.google.com/p/transmisson-remote-gui/

Текущая версия TransGUI 4.03

Исправлены некоторые ошибки интерфейса, обеспечена совместимость с transmission 2.42, добавлены новые опции, улучшающие управление закачкой:

Опции Transmission:


Опции подключения:


Установку можно делать двумя способами либо скопировав руками исполняемый и конфигурационные файлы, либо как указано ниже:

Поскольку у меня стоит 64-х битная версия я скачал и установил соотетсвенно transgui_4.0.3-1_amd64.deb: $ cd /tmp $ wget http://ftp.br.debian.org/debian/pool/main/t/transgui/transgui_4.0.3-1_amd64.deb $ sudo dpkg -i transgui_4.0.3-1_amd64.deb
Для установки 32-х битной версии нужно выполнить следующие команды:
$ cd /tmp $ wget http://ftp.br.debian.org/debian/pool/main/t/transgui/transgui_4.0.3-1_i386.deb $ sudo dpkg -i transgui_4.0.3-1_i386.deb



Полезные ссылки:


Upd 12/12/2011