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

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

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

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

24.06.2009 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).



Пример:

1
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
chemikadze@hell ~ $ cpufreq-info

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

Report errors and bugs to [email protected], 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
# нужно прописать скрипт в /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



Тэги: bash Linux настройка
+ 9 -
Похожие Поделиться

chemikadze 24.06.2009 02:34 #
+ 0 -
по совету одного человека добавил к скрипту еще комментарии
exelens 24.06.2009 07:53 #
+ 1 -
Пост не закончен.
Описаны не все действия.
Зачем скрипт лежит в /root/ ?
exelens 24.06.2009 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.2009 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.2009 08:07 #
+ 3 -
А вообще, если по теме.

Нужно добавить про информацию о температуре жесткого диска
lol@exmedesk:/root$ sudo hddtemp /dev/sda
/dev/sda: WDC WD5000AAKS-65A7B0: 34°C
lol@exmedesk:/root$


И информацию о температуре видеокарты
lol@exmedesk:/root$ nvclock -T
nVidia Geforce 9800GT
=> GPU temperature: -389C
lol@exmedesk:/root$


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


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

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

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

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

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


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

Online video HD

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

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

Full HD video online

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

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

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