Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #103, ИЮЛЬ 2007 г.

Как здоровье, пингвин?

Юрий Раззоренов

Хакер, номер #103, стр. 103-102-5

Файловая система /proc

Некоторую информацию можно получить, обратившись напрямую к файловой системе /proc. Для примера проверим, включен ли кулер на процессоре:

$ sudo cat /proc/acpi/fan/FAN/state

status: on

Возможность его выключения командой echo 0 > /proc/acpi/fan/FAN/state зависит от материнской платы. Температуру процессора можно просмотреть так:

$ sudo cat /proc/acpi/thermal_zone/THRM/temperature

temperature: 23 C

В Linux температура выводится в градусах Цельсия, в других системах - в кельвинах. Кстати, есть целая утилита от разработчиков KDE, называется KTemperature, найти ее можно по адресу www.kde-apps.org/content/show.php?content=24660 или в репозитарии. Она как раз считывает информацию из этого файла и выводит результат на панель задач в виде индикатора.

В trip_points можно считать или задать политику управления охлаждением системы:

$ sudo cat /proc/acpi/thermal_zone/THRM/trip_points

critical (S5): 65 C

passive: 63 C: tc1=4 tc2=3 tsp=60 devices=0xdf852338

active[0]: 63 C: devices=0xdf85ff90

Возможны три варианта политики: critical (критическая температура, после которой возможен автоматический переход в спящий режим), passive (уменьшение частоты процессора) и active (активный режим работы кулера). Причем active может иметь несколько ступеней: от 0 до 9. Команда на изменение этих параметров выглядит так:

$ echo -n "critical:hot:passive:active0:...:activeX" > trip_points

Например:

$ echo "105:100:100:78:70:60:50" > /proc/acpi/thermal_zone/TZ0/trip_points

Режим охлаждения можно просмотреть такой командой:

$ sudo cat /proc/acpi/thermal_zone/THRM/cooling_mode

cooling mode: active

Устанавливать пассивный режим возможно не на всех устройствах, хотя современные ноутбуки его обычно поддерживают. Частота опроса сенсоров указывается в polling_frequency:

$ sudo cat /proc/acpi/thermal_zone/THRM/polling_frequency

<polling disabled>

Это означает, что в случае изменений само устройство способно генерировать асинхронные прерывания, поэтому наблюдать за ним нет смысла. Более подробную информацию о thermal_zone можно найти на сайте acpi.sourceforge.net/documentation/thermal.html.

Подготовка дистрибутива

Для того чтобы большинство описанных утилит заработало, необходимо иметь поддержку I2C и Hardware Monitoring в ядре. То есть как минимум всего, что выдают команды «cat /usr/src/linux/.config | grep LM» и «cat /usr/src/linux/.config | grep I2C2». Поэтому если вывод «lsmod | grep i2c» молчит как рыба об лед, можешь смело приступать к пересборке ядра. В Hardware Monitoring не забываем включить поддержку своей материнской платы. Если сомневаешься, то просто собери все в виде модулей.

$ sudo make mеnuconfig

Назад на стр. 103-102-4  Содержание  Вперед на стр. 103-102-6