История изменений
Исправление Kroz, (текущая версия) :
У тебя процессор на 100% работает постоянно, потому и греется.
Быстрое, но не самое эффективное решение - поставить governor=ondemand; это можно сделать из конфига ядра, там есть установка дефолтного governor. Недостаток в том, что ядро будет раскочегариваться до полной мощности только когда некоторое время на нем будет пиковая нагрузка; соотв. потери производительности будут заметны. Более интеллектуальным решением является cpufreqd и управлять частотой из-под него. Я сделал так, что компьютер всегда на performance (настройка в ядре), но когда температура подскакивает до 90 - менять на powersave пока не остынет.
Читать здесь:
http://habrahabr.ru/post/80914/
http://en.gentoo-wiki.com/wiki/CPU_Frequency_Scaling
http://wiki.gentoo.org/wiki/Power_management/Processor
Все, что ниже, тюнить под себя, так как каждый нотик имеет свои особенности. В частности, посмотри чем тебе лучше мониторить: acpi_temperature или sensors, а также пороговые температуры.
Мониторил работу своей схемы так:
while true; do
clear
date
sensors
echo -n "Direct temperature: "
cat /sys/devices/virtual/thermal/thermal_zone0/temp
echo
for c in $(ls -d /sys/devices/system/cpu/cpu[0-9]*); do
echo $c
cat $c/cpufreq/cpuinfo_cur_freq
cat $c/cpufreq/scaling_governor
echo
done
sleep .3
done
С помощью этого скриптика выявил баг в cpufreqd: иногда почему-то governor устанавливается не на все ядра. Так что на высоких нагрузках иногда приходится вручную передергивать:
$ for c in $(ls -d /sys/devices/system/cpu/cpu[0-9]*); do echo powersave >$c/cpufreq/scaling_governor; done
Mой конфиг cpufreqd:
[General]
pidfile=/var/run/cpufreqd.pid
poll_interval=0.5
verbosity=4
[/General]
#[sensors_plugin]
#sensors_conf=/some/file
#[/sensors_plugin]
[Profile]
name=Performance
minfreq=100%
maxfreq=100%
policy=performance
[/Profile]
[Profile]
name=Cool
minfreq=20%
maxfreq=20%
policy=powersave
[/Profile]
[Profile]
name=Battery
minfreq=60%
maxfreq=100%
policy=ondemand
[/Profile]
[Profile]
name=Save
minfreq=30%
maxfreq=30%
policy=powersave
[/Profile]
#### Rules ####
##### AC ######
[Rule]
name=AC_Normal
ac=on # (on/off)
acpi_temperature=0-75
#sensor=temp1:0-75
profile=Performance
[/Rule]
[Rule]
name=AC_Hot
ac=on # (on/off)
acpi_temperature=90-500
#sensor=temp1:90-100
profile=Cool
[/Rule]
### Battery ###
[Rule]
name=Battery_Normal_High
ac=off # (on/off)
acpi_temperature=0-75
#sensor=temp1:0-75
battery_interval=21-100
profile=Battery
[/Rule]
[Rule]
name=Battery_Hot_High
ac=off # (on/off)
acpi_temperature=90-500
#sensor=temp1:90-500
battery_interval=21-100
profile=Cool
[/Rule]
[Rule]
name=Battery_Low
ac=off # (on/off)
acpi_temperature=0-500
#sensor=temp1:0-500
battery_interval=0-20
profile=Save
[/Rule]
Исправление Kroz, :
У тебя процессор на 100% работает постоянно, потому и греется.
Быстрое, но не самое эффективное решение - поставить governor=ondemand; это можно сделать из конфига ядра, там есть установка дефолтного governor. Недостаток в том, что ядро будет раскочегариваться до полной мощности только когда некоторое время на нем будет пиковая нагрузка; соотв. потери производительности будут заметны. Более интеллектуальным решением является cpufreqd и управлять частотой из-под него. Я сделал так, что компьютер всегда на performance (настройка в ядре), но когда температура подскакивает до 90 - менять на powersave пока не остынет.
Читать здесь:
http://habrahabr.ru/post/80914/
http://en.gentoo-wiki.com/wiki/CPU_Frequency_Scaling
http://wiki.gentoo.org/wiki/Power_management/Processor
Все, что ниже, тюнить под себя, так как каждый нотик имеет свои особенности. В частности, посмотри чем тебе лучше мониторить: acpi_temperature или sensors, а также пороговые температуры.
Мониторил работу своей схемы так:
while true; do
clear
date
sensors
echo -n "Direct temperature: "
cat /sys/devices/virtual/thermal/thermal_zone0/temp
echo
for c in $(ls -d /sys/devices/system/cpu/cpu[0-9]*); do
echo $c
cat $c/cpufreq/cpuinfo_cur_freq
cat $c/cpufreq/scaling_governor
echo
done
sleep .3
done
С помощью этого скриптика выявил баг в cpufreqd: иногда почему-то governor устанавливается не на все ядра. Так что на высоких нагрузках иногда приходится вручную передергивать:
$ for c in $(ls -d /sys/devices/system/cpu/cpu[0-9]*); do echo powersave >$c/cpufreq/scaling_governor; done
Mой конфиг cpufreqd:
[General]
pidfile=/var/run/cpufreqd.pid
poll_interval=0.5
verbosity=4
[/General]
#[sensors_plugin]
#sensors_conf=/some/file
#[/sensors_plugin]
[Profile]
name=Performance
minfreq=100%
maxfreq=100%
policy=performance
[/Profile]
[Profile]
name=Cool
minfreq=20%
maxfreq=20%
policy=powersave
[/Profile]
[Profile]
name=Battery
minfreq=60%
maxfreq=100%
policy=ondemand
[/Profile]
[Profile]
name=Save
minfreq=30%
maxfreq=30%
policy=powersave
[/Profile]
#### Rules ####
##### AC ######
[Rule]
name=AC_Normal
ac=on # (on/off)
acpi_temperature=0-75
#sensor=temp1:0-75
profile=Performance
[/Rule]
[Rule]
name=AC_Hot
ac=on # (on/off)
acpi_temperature=90-500
#sensor=temp1:90-100
profile=Cool
[/Rule]
### Battery ###
[Rule]
name=Battery_Normal_High
ac=off # (on/off)
acpi_temperature=0-75
#sensor=temp1:0-75
battery_interval=21-100
profile=Battery
[/Rule]
[Rule]
name=Battery_Hot_High
ac=off # (on/off)
acpi_temperature=90-500
#sensor=temp1:90-500
battery_interval=21-100
profile=Cool
[/Rule]
[Rule]
name=Battery_Low
ac=off # (on/off)
acpi_temperature=0-500
#sensor=temp1:0-500
battery_interval=0-20
profile=Save
[/Rule]
Исправление Kroz, :
У тебя процессор на 100% работает постоянно, потому и греется.
Быстрое, но не самое эффективное решение - поставить governor=ondemand; это можно сделать из конфига ядра, там есть установка дефолтного governor. Недостаток в том, что ядро будет раскочегариваться до полной мощности только когда некоторое время на нем будет пиковая нагрузка; соотв. потери производительности будут заметны. Более интеллектуальным решением является cpufreqd и управлять частотой из-под него. Я сделал так, что компьютер всегда на performance (настройка в ядре), но когда температура подскакивает до 90 - менять на powersave пока не остынет.
Читать здесь: http://habrahabr.ru/post/80914/ http://en.gentoo-wiki.com/wiki/CPU_Frequency_Scaling http://wiki.gentoo.org/wiki/Power_management/Processor
Все, что ниже, тюнить под себя, так как каждый нотик имеет свои особенности. В частности, посмотри чем тебе лучше мониторить: acpi_temperature или sensors, а также пороговые температуры.
Мониторил работу своей схемы так:
while true; do
clear
date
sensors
echo -n "Direct temperature: "
cat /sys/devices/virtual/thermal/thermal_zone0/temp
echo
for c in $(ls -d /sys/devices/system/cpu/cpu[0-9]*); do
echo $c
cat $c/cpufreq/cpuinfo_cur_freq
cat $c/cpufreq/scaling_governor
echo
done
sleep .3
done
С помощью этого скриптика выявил баг в cpufreqd: иногда почему-то governor устанавливается не на все ядра. Так что на высоких нагрузках иногда приходится вручную передергивать:
$ for c in $(ls -d /sys/devices/system/cpu/cpu[0-9]*); do echo powersave >$c/cpufreq/scaling_governor; done
Mой конфиг cpufreqd:
[General]
pidfile=/var/run/cpufreqd.pid
poll_interval=0.5
verbosity=4
[/General]
#[sensors_plugin]
#sensors_conf=/some/file
#[/sensors_plugin]
[Profile]
name=Performance
minfreq=100%
maxfreq=100%
policy=performance
[/Profile]
[Profile]
name=Cool
minfreq=20%
maxfreq=20%
policy=powersave
[/Profile]
[Profile]
name=Battery
minfreq=60%
maxfreq=100%
policy=ondemand
[/Profile]
[Profile]
name=Save
minfreq=30%
maxfreq=30%
policy=powersave
[/Profile]
#### Rules ####
##### AC ######
[Rule]
name=AC_Normal
ac=on # (on/off)
acpi_temperature=0-75
#sensor=temp1:0-75
profile=Performance
[/Rule]
[Rule]
name=AC_Hot
ac=on # (on/off)
acpi_temperature=90-500
#sensor=temp1:90-100
profile=Cool
[/Rule]
### Battery ###
[Rule]
name=Battery_Normal_High
ac=off # (on/off)
acpi_temperature=0-75
#sensor=temp1:0-75
battery_interval=21-100
profile=Battery
[/Rule]
[Rule]
name=Battery_Hot_High
ac=off # (on/off)
acpi_temperature=90-500
#sensor=temp1:90-500
battery_interval=21-100
profile=Cool
[/Rule]
[Rule]
name=Battery_Low
ac=off # (on/off)
acpi_temperature=0-500
#sensor=temp1:0-500
battery_interval=0-20
profile=Save
[/Rule]
Исходная версия Kroz, :
У тебя процессор на 100% работает постоянно, потому и греется.
Быстрое, но не самое эффективное решение - поставить governor=ondemand; это можно сделать из конфига ядра, там есть установка дефолтного governor. Недостаток в том, что ядро будет раскочегариваться до полной мощности только когда некоторое время на нем будет пиковая нагрузка; соотв. потери производительности будут заметны. Более интеллектуальным решением является cpufreqd и управлять частотой из-под него. Я сделал так, что компьютер всегда на performance (настройка в ядре), но когда температура подскакивает до 90 - менять на powersave пока не остынет.
Читать здесь: http://habrahabr.ru/post/80914/ http://en.gentoo-wiki.com/wiki/CPU_Frequency_Scaling http://wiki.gentoo.org/wiki/Power_management/Processor
Все, что ниже, тюнить под себя, так как каждый нотик имеет свои особенности. В частности, посмотри чем тебе лучше мониторить: acpi_temperature или sensors
Мониторил работу своей схемы так:
while true; do
clear
date
sensors
echo -n "Direct temperature: "
cat /sys/devices/virtual/thermal/thermal_zone0/temp
echo
for c in $(ls -d /sys/devices/system/cpu/cpu[0-9]*); do
echo $c
cat $c/cpufreq/cpuinfo_cur_freq
cat $c/cpufreq/scaling_governor
echo
done
sleep .3
done
С помощью этого скриптика выявил баг в cpufreqd: иногда почему-то governor устанавливается не на все ядра. Так что на высоких нагрузках иногда приходится вручную передергивать:
$ for c in $(ls -d /sys/devices/system/cpu/cpu[0-9]*); do echo powersave >$c/cpufreq/scaling_governor; done
Mой конфиг cpufreqd:
[General]
pidfile=/var/run/cpufreqd.pid
poll_interval=0.5
verbosity=4
[/General]
#[sensors_plugin]
#sensors_conf=/some/file
#[/sensors_plugin]
[Profile]
name=Performance
minfreq=100%
maxfreq=100%
policy=performance
[/Profile]
[Profile]
name=Cool
minfreq=20%
maxfreq=20%
policy=powersave
[/Profile]
[Profile]
name=Battery
minfreq=60%
maxfreq=100%
policy=ondemand
[/Profile]
[Profile]
name=Save
minfreq=30%
maxfreq=30%
policy=powersave
[/Profile]
#### Rules ####
##### AC ######
[Rule]
name=AC_Normal
ac=on # (on/off)
acpi_temperature=0-75
#sensor=temp1:0-75
profile=Performance
[/Rule]
[Rule]
name=AC_Hot
ac=on # (on/off)
acpi_temperature=90-500
#sensor=temp1:90-100
profile=Cool
[/Rule]
### Battery ###
[Rule]
name=Battery_Normal_High
ac=off # (on/off)
acpi_temperature=0-75
#sensor=temp1:0-75
battery_interval=21-100
profile=Battery
[/Rule]
[Rule]
name=Battery_Hot_High
ac=off # (on/off)
acpi_temperature=90-500
#sensor=temp1:90-500
battery_interval=21-100
profile=Cool
[/Rule]
[Rule]
name=Battery_Low
ac=off # (on/off)
acpi_temperature=0-500
#sensor=temp1:0-500
battery_interval=0-20
profile=Save
[/Rule]