Видео смотреть бесплатно

Смотреть 365 видео

Официальный сайт 70rus 24/7/365

Смотреть видео бесплатно

24.06.09 02:16

chemikadzeБоремся с жарой

Наступило лето, а вместе с ним пришла жара, и я стал замечать, что у многих начались проблемы с перегревом. Оно и не мудрено - даже нам, двуногим, достаточно легко спечься на такой жаре при рабочей температурой 36.6?C, что уже говорить о современных процессорах, а тем более о процессорах ноутбуков. Далее мы разберемся, как работает энергосбережение процессора, и как уберечься от этой летней напасти.


Как известно, процессором поддерживаются 4 режима энергосбережения: performance - максимальная производительность, ondemand и conservative - динамические режимы и powersave - энергосбережение/наименьшая производительность. Немного отдельно стоит userspace режим, при котором частота задается жестко. Разница же мажду ondemand и conservative состоит в том, что в первом случае при появлении нагрузки процессор сразу набирает полную частоту, а во втором - "раскачивается" некоторое время, что дает компромисс: с одной стороны не дает процессору тратить энергию/нагреваться зря, но в случае долгих пиковых нагрузок выдавать полную мощность.

Для управления режимами энергосбережения используются консольные утилиты cpufreq-set и cpufreq-info, входящие в пакет cpufrequtils (по крайней мере так обстоит дело в gentoo, но думаю не составит труда найти нужный пакет для вашего любимого дистрибутива). Как ясно из названия, они позволяют соответственно устанавливать частоту/режим работы процессора и получать информацию о текущем режиме.

Вот опции коммандной строки для cpufreq-set:
  • -c --cpu <CPU>
  • Указывает номер процессора, к которому нужно применить частотную политику. На многоядерных системах частота ядер может не совпадать, все зависит от опций ядра и железа, поэтому может пригодиться.
  • -d --min <FREQ>
  • Нижняя граница частоты процессора для текущей политики энергосбережения.
  • -u --max <FREQ>
  • Соответственно верхняя граница частоты.
  • -g --governor <GOV>
  • Собственно, задает режим энергосбережения, доступны:
    performance
    ondemand
    conservative
    powersave
    userspace - устанавливается автоматически при использовании флага -f
  • -f --freq <FREQ>
  • Жестко задает частоту, совместим только с флагом -c. Как уже говорилось, автоматически устанавливает политику userspace.
  • -h
  • Справка, здесь все традиционно.
Замечу, что для использования cpufreq-set нужны прова администратора (root).

Пример:
cpufreq-set -c -g powersave
переведет в режим энергосбережения процессор №0 (первый в системе).

Касательно cpufreq-info никаких особых опций знать не нужно, по умолчанию выводится вся нужная информация по каждому процессору (пределы частот, шаги частот, доступные политики управления и состояние процессора). Посмотреть ключи для вывода только нужной информации можно в руководстве man.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33


  chemikadze@hell ~ $ cpufreq-info

cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006

Report errors and bugs to cpufreq@vger.kernel.org, please.    

analyzing CPU 0:                                              

  driver: acpi-cpufreq                                        

  CPUs which need to switch frequency at the same time: 0    

  hardware limits: 800 MHz - 1.87 GHz                        

  available frequency steps: 1.87 GHz, 1.60 GHz, 1.33 GHz, 1.07 GHz, 800 MHz

  available cpufreq governors: conservative, userspace, powersave, ondemand, performance

  current policy: frequency should be within 800 MHz and 1.87 GHz.                      

                  The governor "powersave" may decide which speed to use                

                  within this range.                                                    

  current CPU frequency is 800 MHz.                                                    

  cpufreq stats: 1.87 GHz:0,00%, 1.60 GHz:0,00%, 1.33 GHz:0,00%, 1.07 GHz:0,00%, 800 MHz:0,00%  (24834)

# вывод для второго ядра вырезан, он не отличается от первого

 

Для постоянного мониторинга частоты используется cpufreqd (не входит в cpufrequtils), который имеет достаточно гибкие возможности настройки зависимоти частоты от состояния компьютера, включая состояние AC-адаптера, а так же "белые" списки программ, которые не дают демону перевести процессор в режим энергосбережения, когда вы, например смотрите свое любимое аниме в HD качестве на слабой машине через mplayer, занесенный в "белый" список. Но есть у cpufreqd один минус - он конфликтует с GUI программами типа kpowersave и powerdevil. С другой стороны, эти программы не обладают достаточным функционалом для отслеживания температуры процессора, и поэтому я обратился за помощью к старым добрым cron и bash.
Ниже - пример с моей машины, надеюсь он окажется полезным для кого-нибудь:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59


# нужно прописать скрипт в /etc/crontab

chemikadze@hell ~ $ cat /etc/crontab | grep cpu

# чтобы он (cpufreq-temp.sh) запускается каждую минуту, вы можете изменить это время по своему усмотрению

*/1 * * * *     root    /root/cpufreq-temp.sh

chemikadze@hell ~ $ cat /root/cpufreq-temp.sh

#!/bin/sh                                    

# MAX - верхняя граница температуры процессора в динамическом режиме

# MIN - нижняя граница для режима охлаждения

MAX=60

MIN=50

# /proc считается устаревшим методом, но при переносе на другую машину найти датчик температуры гораздо проще по сравнению с /sys - он всегда в /proc/acpi/thermal_zone/

# если слишком жарко...

if [ `cat /proc/acpi/thermal_zone/TZ01/temperature | tr -d "temperature: C"` -gt $MAX ]; then

# пора остыть

        cpufreq-set -c 1 -g powersave                                                        

        cpufreq-set -c 0 -g powersave                                                        

        echo "Too hot! Setting powersave..."                                                

else

# если адаптер подключен и достаточно охладились...                                                                        

        if [ ! -z "`cat /proc/acpi/ac_adapter/AC/state | grep on`" ]; then                  

                if [ `cat /proc/acpi/thermal_zone/TZ01/temperature | tr -d "temperature: C"` -le $MIN ]; then

# переводим оба ядра в динамический режим

                        cpufreq-set -c 1 -g ondemand                                                        

                        cpufreq-set -c 0 -g ondemand                                                        

                        echo "Let's go on..."                                                                

                fi                                                                                          

        fi                                                                                                  

fi

 



chemikadze 24.06.09 02:34 # +0
по совету одного человека добавил к скрипту еще комментарии
exelens 24.06.09 07:53 # +1
Пост не закончен.
Описаны не все действия.
Зачем скрипт лежит в /root/ ?
exelens 24.06.09 07:56 # +0
lol@exmedesk: /rootlol@exmedesk:/root$ ./cpufreq-temp.sh
cat: /proc/acpi/thermal_zone/TZ01/temperature: No such file or directory
[: 23: -gt: unexpected operator
cat: /proc/acpi/ac_adapter/AC/state: No such file or directory
exelens 24.06.09 08:03 # +0
lol@exmedesk:/root$ cat /proc/acpi/thermal_zone/TZ00/temperature
cat: /proc/acpi/thermal_zone/TZ00/temperature: No such file or directory
lol@exmedesk:/root$ cat /proc/acpi/thermal_zone/TZ01/temperature
cat: /proc/acpi/thermal_zone/TZ01/temperature: No such file or directory
lol@exmedesk:/root$
exelens 24.06.09 08:07 # +3
А вообще, если по теме.

Нужно добавить про информацию о температуре жесткого диска
1
2
3
4
5
lol@exmedesk:/root$ sudo hddtemp /dev/sda

/dev/sda: WDC WD5000AAKS-65A7B0: 34°C

lol@exmedesk:/root$


И информацию о температуре видеокарты
1
2
3
4
5
6
7
lol@exmedesk:/root$ nvclock -T

nVidia Geforce 9800GT

=> GPU temperature: -389C

lol@exmedesk:/root$


Ха ха =) с видяхой у меня какая то ерунда =) вечером проверю как там куллер.


Craftuser 24.06.09 11:48 # +0
Неплохая температура:) Прямая связь с космосом?
exelens 24.06.09 11:51 # +0
нее =) стоит у окна =) на полу.
chemikadze 24.06.09 11:55 # +1
По-моему тов. exelens получит нобелевскую премию за получение такой температуры + в нагрузку обязанность переписать всю термодинамику и МКТ заново. Педивикия какбе намекает.
Craftuser 24.06.09 12:07 # +0
По опыту известно, что в девяти случаев из десяти помогает простая замена термопасты(и продувка системы охлаждения в случае ноутбуков), ну или открытая крышка системника:)
К тому же стоило бы указать, что пока существует нехилое количество железа которое вообще "не умеет" изменять частоту проца(ну исобссно сами процы у которых нет такой фичи), а то будут люди мучаться почем зря.
chemikadze 24.06.09 12:14 # +0
гентоюзверам и арчерам, думаю, пригодится. охлаждение охлаждением но меня 70-градусный ноут во время эмержей как-то совсем не возбуждает, да и стремно немного.

гентушник - эт такой человек, который получает 5-10% прироста производительности с помощью 100%-ной загрузки процессора (с)
lwilis 24.06.09 17:31 # +0
просто указать явно, что если в выводе cat /proc/cpuinfo в строчке flags нет таких-то и таких-то флагов - то заморачиваться бессмысленно.
chemikadze 24.06.09 21:37 # +0
о, спасибо, можно попробовать
rakoth 24.06.09 12:32 # +1
спасибо за статью. Не знал про cpufrequtils.
Kraplax 24.06.09 19:25 # +1
Спасибо за статью, вот только четверокедовцы пользуют PowerDevil в его плазмоидной ипостаси. Конечно, тов. NucleoFag, теперь скорее всего, будет ручками в SystemSettings лазить, или 'plasmoidviewer battery' запускать. В любом случае - если есть GUI, то зачем новичков заморачивать такими вещами? :)
chemikadze 24.06.09 21:37 # +0
Но PowerDevil не спасет от перегрева. Или я ошибаюсь?
Kraplax 24.06.09 22:34 # +0
Хм.. Да, вы правы. Прошу прощения за невнимательность. PD управляет политикой электропитания, но только на основе уровня заряда батареи. На температуру не смотрит... Вот если бы такую фичу добавить в один из плазмоид-мониторов, то было бы просто прелестно ))
chemikadze 24.06.09 22:38 # +0
ВНЕЗАПНО появилось чем заняться на летней практике. Попробую разобраться в стандартном battery status.
Kraplax 24.06.09 23:29 # +0
Советую разбираться не в плазмоиде battery, а в том, каким dataengine он пользуется. И пользовать далее либо его, либо напрямую к Solid обращаться.
А насчет того, какой плазмоид стоит колупать - лучше посмотрите системные мониторы из kdeplasma-playground. Есть там монитор температуры, который не может быть выведен как отдельный плазмоид, или как часть более сложного системного монитора.
В любом случае - удачи вам :)
chemikadze 24.06.09 23:34 # +0
который не может быть выведен как отдельный плазмоид

странно, а почему он у меня выведен отдельно? О_о
Kraplax 25.06.09 01:18 # +0
опечатка :P
Конечно же я имел ввиду что он или может быть выделен как отдельный плазмоид, или как часть более сложного.
chemikadze 25.06.09 01:25 # +0
понятно. но я даже не знаю, смогу ли приступить - мне книгу Шлее по Qt для начала надо доизучить до конца))
Kraplax 25.06.09 02:01 # +0
На самом деле достаточно понять принцип сигналов и слотов, а там уже assistant тебе в помощь. Просто читай код, он обычно понятен на Qt/KDE.
chemikadze 25.06.09 02:05 # +0
это-то понятно. но хочется поковырять все и сразу, а пока хватило лишь на что-то типа этого. а ведь и phonon есть, и еще куча всяких вкусностей...

Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии
      Изменения
        Посты Комментарии Изменения Черновики Избранное
        Черновики (все)
          Посты Комментарии Изменения Черновики Избранное
          Избранное (всё)
            Посты Комментарии Изменения Черновики Избранное
            Лучшие блоги (все 102)
            Топ пользователей Топ блогов
            Топ пользователей Топ блогов
            Элита (все 2052 из 156 городов)
            Топ пользователей Топ блогов

            Новенькие: mrkot, kot, kot, ttohin, Aviv
            welinux.ru

            Смотреть онлайн бесплатно

            Онлайн видео бесплатно


            Смотреть русское с разговорами видео

            Online video HD

            Видео скачать на телефон

            Русские фильмы бесплатно

            Full HD video online

            Смотреть видео онлайн

            Смотреть HD видео бесплатно

            School смотреть онлайн