Ноут с P4M - Делюсь опытом.
Доброе время суток.
Есть у меня сабжевый ноут. Какое-то время была с ним одна проблема - слишком сильно нагревался под нагрузкой, и соответственно шумел.
Решал этот момент с помощью cpudyn. Однако, выяснилось что этот вопрос можно разрулить без помощи сторонних утилит - только силами ядра.
Вариант такого решения и привожу.
1. Убедиться что в ядре присутствует следующее:
Power management options (ACPI, APM) --->
CPU Frequency scaling --->
[*] CPU Frequency scaling
[*] Enable CPUfreq debugging
<*> CPU frequency translation statistics
[*] CPU frequency translation statistics details
Default CPUFreq governor (performance) --->
--- 'performance' governor
<*> 'powersave' governor
<*> 'userspace' governor for userspace frequency scaling
<*> 'ondemand' cpufreq policy governor
<*> 'conservative' cpufreq governor
--- CPUFreq processor drivers
<*> ACPI Processor P-States driver ......
......
<*> Intel Enhanced SpeedStep
[*] Use ACPI tables to decode valid frequency/voltage pairs
[*] Built-in tables for Banias CPUs
<*> Intel Speedstep on ICH-M chipsets (ioport interface)
< > Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)
<*> Intel Pentium 4 clock modulation
2. vi /etc/conf.d/cpufreq
# все параметры можно посмотреть в:
# /sys/devices/system/cpu/cpu0/cpufreq/
# режим в котрый будем заводить процессор при старте сервиса
# сейчас в ядре доступны следующие (комментарии в Documentation/cpu-freq):
# performance
# powersave
# userspace
# ondemand
# conservative
# имеющиеся в данный момент в текущей сборке ядра в /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
START_MODE="userspace"
# режим при остановке сервиса
FINAL_MODE="performance"
# верхняя и нижняя границы частоты
# доступные можно посмотреть в /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
# у меня так: 375000 750000 1125000 1500000 1875000 2250000 2625000 3000000
MAX_FREQ="2250000"
MIN_FREQ="375000"
# частота для userspace режима
USR_FREQ="1125000"
3. vi /etc/init.d/cpufreq
#!/sbin/runscript
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
depend() {
need localmount
}
start() {
ebegin "Starting CPUFreq control"
echo ${MAX_FREQ} > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo ${MIN_FREQ} > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo ${START_MODE} > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
if [ ${START_MODE} == "userspace" ]; then
ebegin " ${START_MODE} mode, CPU set to ${USR_FREQ}"
echo ${USR_FREQ} > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
eend $?
elif [ ${START_MODE} == "ondemand" ]; then
einfo " ${START_MODE} mode"
einfo " max freq set to ${MAX_FREQ}"
einfo " min freq set to ${MIN_FREQ}"
else
ebegin " ${START_MODE} mode}"
eend $?
fi
eend $?
}
stop() {
ebegin "Stopping CPUFreq control: ${FINAL_MODE} mode"
echo ${FINAL_MODE} > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
eend $?
}
4. chmod 751 /etc/init.d/cpufreq && rc-update add cpufreq boot
пожелания и предложения принимаются.
- Для комментирования войдите или зарегистрируйтесь