Next: , Previous: Buttons, Up: Top


4 Thermal Management

First: Thermal management is only available on ACPI systems.

Second: Thermal management is buggy on a lot of machines (mostly by BIOS, it's also possible that you hit a kernel bug, see Lists how to report a kernel bug to get it solved)

4.1 Examine your system

Examine the directory(ies) in /proc/acpi/thermal_zone/*/

  1. Cooling Mode (currently rarely support by BIOS) if cooling_mode is supported try out if the COOLING_MODE variable satisfies your needs (set it to active or passive in your scheme_* configuration files, see below - Configuration Variables).
  2. Overriding Trip Points If not you have to adjust your trip points. Have a look at /proc/acpi/thermal_zone/*/trip_points or better use powersave -T Your system should at least support a passive, even better one or more active trip points (if not, nag your vendor to export temperature limits by BIOS, it is really easy, but a lot of vendors do not care much about the ACPI spec...) If your system supports trip points you can override the temperature limits for your needs (described below in Configuration Variables).
  3. Multiple Thermal Zones: If you have multiple thermal_zones you should find out which one refers to the processor first. E.g. like: in one shell do: watch -n2 powersave -T in another one: cat /dev/zero > /dev/null (high processor usage) if your processor supports CPU frequency control use powersave -f to speed and warm up your processor (powersave -A to switch back to dynamic mode). additionally you could close the slot to the fan (carefully...) The thermal zone(s) which temperature(s) is rapidly increasing, is(are) the interesting one. Ajust the trip points of this thermal_zone (use number from powersave -T) using the variables described in 2.6.

4.2 Configuration Variables

Relevant configuration variables are in /etc/sysconfig/powersave/thermal and the scheme configuration files You may want to create e.g. a scheme cool/hot and activate it when you need a cool/fast system using the kpowersave front-end or the -x -e parameters of the powersave binary. (Only cooling mode is configurable through YAST (power-management module) for overridding your thermal trip points.)

  1. POWERSAVE_ENABLE_THERMAL_MANAGEMENT="yes"

    _Relevant general configuration variables for each scheme: (/etc/sysconfig/powersave/scheme_*):

  2. POWERSAVE_COOLING_POLICY="passive"

    Activ - The hardware is preferably cooled by the fan. Passiv - The hardware is preferably cooled through This is rarely supported by HW. See /proc/acpi/thermal_zone/*/cooling_mode The cooling management is controlled by the kernel the powersaved has not much influence on this.

  3. POWERSAVE_THERMAL_CRITICAL_0="95" POWERSAVE_THERMAL_HOT_0="90" POWERSAVE_THERMAL_PASSIVE_0="35" POWERSAVE_THERMAL_ACTIVE_0_0="40" POWERSAVE_THERMAL_ACTIVE_0_1="42"

    Use the variables to override the temperature trip point settings exported by BIOS (in degree Celcius). (see /proc/acpi/thermal_zone/*/trip_points) The number at the end of each variable defines the thermal zone for which the value should be active. Use the powersave -T command to find out supported thermal zones and their default trip point settings.

    You might want to use the setDefaultTrippoints.sh script to fill your scheme_* conf files with your BIOS settings to easily override them.

    The machine is switching on fans when active trip point temperature limits are reached.

    When reaching the passive trip point, the kernel will lower the CPU's frequency (if CPU frequency switching is supported by your CPU) and throttle the CPU down when the passive trip point is exceeded.

    By default the passive trip point (tp) is far above the active tps. For a cool and quiet system you may want to change this similar to above example settings. However these values are very HW dependant and you therefore have to fiddle around a bit to find out the best settings for your machine.

    Try to find out which thermal zone directly refers to the processor as described above. A low value for passive should avoid fan activity but may slow down your machine if it exceeds the trip point's limit. The throttling is done by the kernel itself, the maximum throttling variable is not used in case of the passive limit is reached. Increase the active trip points values (if supported) to additionally avoid fan activity.

    If a trip point is not supported by your BIOS (e.g. hot) you cannot use it -> write an email to your vendor he should support all of them, even you have a workstation.