Forums

Resolved
0 votes
Here in Australia during summer temperatures can rise into the low 40s centigrade (105+ °F). Equipment in non-air-conditioned environments can overheat - particularly CPUs running at 100% usage as can happen, for example, you run BOINC for research such participating in the World Community Grid

This article, link below, discusses methods used to control CPU temperatures on machines running BOINC under ClearOS 7.3 and ClearOS 6.x A similar approach should work for other distributions. A certain familiarity with simple CLI commands is assumed.

Draft Discussion http://www.sraellis.tk/master-frame-control_cpu_temp.html

World Community Grid https://www.worldcommunitygrid.org/about_us/viewAboutUs.do
Saturday, April 01 2017, 03:31 AM
Share this post:
Responses (9)
  • Accepted Answer

    Saturday, April 01 2017, 08:01 AM - #Permalink
    Resolved
    0 votes
    Hi Tony,
    For your i7 did you make a change to the driver? I used to control speeds on an AMD device for power reasons, but when I switched to an i3 the cpufreq method did not work any more. Looking at frequency-info I get:
    [root@server ~]# /usr/bin/cpupower frequency-info
    analyzing CPU 0:
    driver: intel_pstate
    CPUs which run at the same hardware frequency: 0
    CPUs which need to have their frequency coordinated by software: 0
    maximum transition latency: Cannot determine or is not supported.
    hardware limits: 800 MHz - 3.40 GHz
    available cpufreq governors: performance powersave
    current policy: frequency should be within 800 MHz and 3.40 GHz.
    The governor "powersave" may decide which speed to use
    within this range.
    current CPU frequency: 3.40 GHz (asserted by call to hardware)
    boost state support:
    Supported: no
    Active: no
    I believe the pstate driver is the way of controlling more recent CPU's and there have been quite a few kernel mods in the last couple of years to improve it. When I looked at it a couple of years ago I couldn't find a way of controlling the CPU speed. I have not looked since.
    The reply is currently minimized Show
  • Accepted Answer

    Saturday, April 01 2017, 09:32 AM - #Permalink
    Resolved
    0 votes
    My i7 is running ClearOS 6.8 - Does the following provide any help?

    here are the drivers that would be of interest

    [root@danda ~]# lsmod | egrep 'cpu|freq|temp|sensors|it8'
    it87 38705 0
    hwmon_vid 3132 1 it87
    cpufreq_ondemand 10544 0
    acpi_cpufreq 7763 0
    freq_table 4936 2 cpufreq_ondemand,acpi_cpufreq
    mperf 1557 1 acpi_cpufreq
    coretemp 6400 0

    Using the same arguments for yum.log* - it87 is used by lm_sensors

    [root@danda ~]# cat /var/log/yum* | egrep 'cpu|freq|temp|sensors|it8'
    Apr 08 11:21:14 Installed: lm_sensors-libs-3.1.1-17.el6.x86_64
    Apr 08 11:21:20 Installed: lm_sensors-3.1.1-17.el6.x86_64
    Apr 08 13:42:33 Installed: hddtemp-0.3-0.20.beta15.el6.x86_64
    Apr 08 14:51:16 Installed: gkrellm-hddtemp-0.2-0.fdr.0.2.beta.2.i386
    Aug 01 11:47:41 Updated: cpupowerutils-1.2-7.el6.x86_64
    Jan 30 13:36:59 Installed: kmod-it87-1.1-12.v6.x86_64
    May 29 10:43:20 Updated: cpupowerutils-1.3-1.el6.x86_64
    Jun 26 13:42:36 Erased: kmod-it87
    Jun 26 13:52:42 Installed: kmod-it87-1.1-13.v6.x86_64

    As explained in the doc - to save the overhead of a user-land program the files in /sys/devices/system/cpu/cpu0/cpufreq/ are modified directly.
    [root@danda ~]# find /sys/devices | grep cpufreq
    /sys/devices/system/cpu/cpufreq
    /sys/devices/system/cpu/cpu0/cpufreq
    /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
    /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
    /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
    /sys/devices/system/cpu/cpu0/cpufreq/affected_cpus
    /sys/devices/system/cpu/cpu0/cpufreq/related_cpus
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
    /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
    /sys/devices/system/cpu/cpu1/cpufreq
    /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_min_freq
    /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq
    etc ...snipped

    I have an i3 also running BOINC at close to 100% load - but it runs cool even in summer and so only just reduce the load to maintain a reasonable temperature during the hottest days. It's running Fedora - I have just looked and found this using the same commands...
     
    [root@sophia ~]# lsmod | egrep 'cpu|freq|temp|sensors|it8'
    cpufreq_stats 13469 0
    it87 47209 0
    hwmon_vid 12688 1 it87
    acpi_cpufreq 19612 0
    mperf 12607 1 acpi_cpufreq
    coretemp 13435 0


    [root@sophia ~]# find /sys/devices | grep cpufreq
    /sys/devices/system/cpu/cpu0/cpufreq
    /sys/devices/system/cpu/cpu0/cpufreq/bios_limit
    /sys/devices/system/cpu/cpu0/cpufreq/stats
    /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
    /sys/devices/system/cpu/cpu0/cpufreq/stats/trans_table
    /sys/devices/system/cpu/cpu0/cpufreq/stats/total_trans
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
    /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
    /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
    /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
    /sys/devices/system/cpu/cpu0/cpufreq/affected_cpus
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
    /sys/devices/system/cpu/cpu0/cpufreq/related_cpus
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
    /sys/devices/system/cpu/cpu1/cpufreq
    /sys/devices/system/cpu/cpu1/cpufreq/bios_limit


    [root@sophia ~]# /usr/bin/cpupower frequency-info
    analyzing CPU 0:
    driver: acpi-cpufreq
    CPUs which run at the same hardware frequency: 0
    CPUs which need to have their frequency coordinated by software: 0
    maximum transition latency: 10.0 us.
    hardware limits: 1.60 GHz - 3.30 GHz
    available frequency steps: 3.30 GHz, 3.20 GHz, 3.10 GHz, 3.00 GHz, 2.80 GHz, 2.70 GHz, 2.60 GHz, 2.50 GHz, 2.40 GHz, 2.30 GHz, 2.20 GHz, 2.10 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz
    available cpufreq governors: conservative, userspace, powersave, ondemand, performance
    current policy: frequency should be within 1.60 GHz and 3.30 GHz.
    The governor "ondemand" may decide which speed to use
    within this range.
    current CPU frequency is 3.30 GHz (asserted by call to hardware).
    cpufreq stats: 3.30 GHz:99.00%, 3.20 GHz:0.01%, 3.10 GHz:0.01%, 3.00 GHz:0.01%, 2.80 GHz:0.00%, 2.70 GHz:0.00%, 2.60 GHz:0.00%, 2.50 GHz:0.00%, 2.40 GHz:0.00%, 2.30 GHz:0.00%, 2.20 GHz:0.00%, 2.10 GHz:0.01%, 1.90 GHz:0.00%, 1.80 GHz:0.00%, 1.70 GHz:0.00%, 1.60 GHz:0.93% (507233)
    boost state support:
    Supported: no
    Active: no
    3300 MHz max turbo 4 active cores
    3300 MHz max turbo 3 active cores
    3300 MHz max turbo 2 active cores
    3300 MHz max turbo 1 active cores
    The reply is currently minimized Show
  • Accepted Answer

    Saturday, April 01 2017, 05:52 PM - #Permalink
    Resolved
    0 votes
    Very interesting.
    Do you know how you can control the temperature setpoint of the cpu/fan.

    sensors
    coretemp-isa-0000
    Adapter: ISA adapter
    Core 0: +35.0°C (high = +80.0°C, crit = +100.0°C)
    Core 1: +32.0°C (high = +80.0°C, crit = +100.0°C)


    I like to change the "high" setting.
    This can be done with program "i8kmon" or "i8kutils". Can this be done in ClearOS ?

    The CPU frequency is also not working for me.
    Processor type : Intel® Core™2 Duo Processor E8600

     /usr/bin/cpupower frequency-info
    analyzing CPU 0:
    driver: acpi-cpufreq
    CPUs which run at the same hardware frequency: 0
    CPUs which need to have their frequency coordinated by software: 0
    maximum transition latency: 10.0 us
    hardware limits: 2.00 GHz - 3.33 GHz
    available frequency steps: 3.33 GHz, 3.00 GHz, 2.67 GHz, 2.33 GHz, 2.00 GHz
    available cpufreq governors: conservative userspace powersave ondemand performance
    current policy: frequency should be within 2.00 GHz and 3.33 GHz.
    The governor "conservative" may decide which speed to use
    within this range.
    current CPU frequency: 2.00 GHz (asserted by call to hardware)
    boost state support:
    Supported: no
    Active: no
    The reply is currently minimized Show
  • Accepted Answer

    Sunday, April 02 2017, 12:12 AM - #Permalink
    Resolved
    0 votes

    This can be done with program "i8kmon" or "i8kutils". Can this be done in ClearOS ?

    Do you have these utilities installed and tried to use them from the CLI? I'll investigate - my i7 fan is just set in BIOS to to vary with temperature with default settings - and varies over a quite a wide range. This is an older Ivy Bridge i7 3770 as can be seen here in green - bottom 'year' graph http://www.sraellis.tk/frame-26-fanspeed.html - use lm_sensors to monitor the fan speed


    The CPU frequency is also not working for me

    Can you provide more specific detail? How do you know? What did you try doing?
    You should be able to read the current frequency like this - ypu will need to 'un-wrap' some lines grrr

    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
    the available frequencies
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
    the maximum frequency
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
    set it to the minimum for example - in your case 2000000
    echo 2000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
    check it worked
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
    and set it back to whatever you saw when you initially displayed the max setting - probably 3300000
    echo 3300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

    change cpu0 to cpu1 for the other cpu

    Later... are you sure i8kutils is applicable to your system - from https://launchpad.net/i8kutils would have thought an Intel E8600 would be in a desktop and not a Dell laptop :o

    i8kutils is a utility that controls some Dell laptops system temperature by means of turning on and off their fans. In the past, it was developed for the I8000 series and this is the reason for the name but today serves to more than the I8000 series. It was not implemented based on Dell documentation so it is not guaranteed to work on all models. Use if it helps you. Dell did not contribute to this project with documentation.


    [edit]
    Linkified a link which was not working correctly - Nick
    [/edit]
    The reply is currently minimized Show
  • Accepted Answer

    Sunday, April 02 2017, 04:57 PM - #Permalink
    Resolved
    0 votes

    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
    the available frequencies
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
    the maximum frequency
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
    set it to the minimum for example - in your case 2000000
    echo 2000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
    check it worked
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
    and set it back to whatever you saw when you initially displayed the max setting - probably 3300000
    echo 3300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq


    i''l investigate this more. The greq scalling option is available.



    Later... are you sure i8kutils is applicable to your system - from https://launchpad.net/i8kutils would have thought an Intel E8600 would be in a desktop and not a Dell laptop :o

    It is a Dell Desktop ;-). The i8utils are available and i've not yet found a way to instal them.

    i'm looking a way to control the fan, if this possible (which i doubt)
    The reply is currently minimized Show
  • Accepted Answer

    Monday, April 03 2017, 12:08 AM - #Permalink
    Resolved
    0 votes
    i8utils is designed to control the left and right fans in certain Dell laptops - and that's the only use that my web searches have found so far - but you might be extremely lucky, though wouldn't bet on it....

    If you have lm_sensors installed - you should get the programs "/usr/sbin/fancontrol" and "/usr/sbin/pwmconfig". I have never used them as the BIOS settings are adequate here. With lm_sensors installed and working, type "man fancontrol" and "man pwmconfig" for details... ("q" key quits from man pages). Suspect support for it will depend whether your BIOS is compatible... and pay attention to the warnings in the man files regarding their use... a quote of the first few lines of "man fancontrol"

    FANCONTROL(8) FANCONTROL(8)

    NAME
    fancontrol - automated software based fan speed regulation

    SYNOPSIS
    fancontrol [configfile]

    DESCRIPTION
    fancontrol is a shell script for use with lm_sensors. It reads its configuration from a file, then calculates fan speeds from temperatures and sets the correponding PWM outputs to the computed values.

    WARNING
    Please be careful when using the fan control features of your mainboard, in addition to the risk of burning your CPU, at higher temperatures there will be a higher wearout of your other hardware components, too. So if you plan to use these components in 50 years, maybe you shouldn’t use fancontrol at all. Also please keep in mind most fans aren’t designed to be powered by a PWMed voltage.

    In practice it doesn’t seem to be a major issue, the fans will get slightly warmer, just be sure to have a temperature alarm and/or shutdown call, in case some fan fails, because you probably won’t hear it anymore ;)

    CONFIGURATION
    For easy configuration, there’s a script named pwmconfig(8) which lets you interactively write your configuration file for fancontrol. Alternatively you can write this file yourself using the information from this manpage.

    Since most of you are going to use pwmconfig(8) script, the config file syntax will be discussed last. First I’m going to describe the various variables avaiable for changing fancontrol’s behaviour:
    ... snipped
    The reply is currently minimized Show
  • Accepted Answer

    Monday, April 03 2017, 06:13 PM - #Permalink
    Resolved
    0 votes
    No luck....:p

    /usr/sbin/pwmconfig: There are no pwm-capable sensor modules installed
    The reply is currently minimized Show
  • Accepted Answer

    Tuesday, April 04 2017, 01:10 AM - #Permalink
    Resolved
    0 votes
    Do you have lm_sensors installed and configured? This is essential to get the necessary module support in place...

    Looks like this Gigabyte board (GA-Z77MX-D3H) has the necessary support...

    [root@danda ~]# /usr/sbin/pwmconfig
    # pwmconfig revision 5630 (2009-01-29)
    This program will search your sensors for pulse width modulation (pwm) controls, and test each one to see if it controls a fan on your motherboard. Note that many otherboards do not have pwm circuitry installed, even if your sensor chip supports pwm.

    We will attempt to briefly stop each fan using the pwm controls. The program will attempt to restore each fan to full speed after testing. However, it is ** very important ** that you physically verify that the fans have been to full speed after the program has completed.

    Found the following devices:
    hwmon0 is acpitz
    hwmon1/device is coretemp
    hwmon2/device is it8728

    Found the following PWM controls:
    hwmon2/device/pwm1
    hwmon2/device/pwm1 is currently setup for automatic speed control. In general, automatic mode is preferred over manual mode, as it is more efficient and it reacts faster. Are you sure that you want to setup this output for manual control? (n) n
    hwmon2/device/pwm2
    hwmon2/device/pwm2 is currently setup for automatic speed control. In general, automatic mode is preferred over manual mode, as it is more efficient and it reacts faster. Are you sure that you want to setup this output for manual control? (n) n
    hwmon2/device/pwm3
    hwmon2/device/pwm3 is currently setup for automatic speed control. In general, automatic mode is preferred over manual mode, as it is more efficient and it reacts faster. Are you sure that you want to setup this output for manual control? (n) n
    There are no usable PWM outputs.

    opted to stay with what BIOS had set - automatic - which works well...
    The reply is currently minimized Show
  • Accepted Answer

    Tuesday, April 04 2017, 05:45 PM - #Permalink
    Resolved
    0 votes
    Tony Ellis wrote:

    Do you have lm_sensors installed and configured? This is essential to get the necessary module support in place...

    Looks like this Gigabyte board (GA-Z77MX-D3H) has the necessary support...

    [root@danda ~]# /usr/sbin/pwmconfig
    # pwmconfig revision 5630 (2009-01-29)
    This program will search your sensors for pulse width modulation (pwm) controls, and test each one to see if it controls a fan on your motherboard. Note that many otherboards do not have pwm circuitry installed, even if your sensor chip supports pwm.

    We will attempt to briefly stop each fan using the pwm controls. The program will attempt to restore each fan to full speed after testing. However, it is ** very important ** that you physically verify that the fans have been to full speed after the program has completed.

    Found the following devices:
    hwmon0 is acpitz
    hwmon1/device is coretemp
    hwmon2/device is it8728

    Found the following PWM controls:
    hwmon2/device/pwm1
    hwmon2/device/pwm1 is currently setup for automatic speed control. In general, automatic mode is preferred over manual mode, as it is more efficient and it reacts faster. Are you sure that you want to setup this output for manual control? (n) n
    hwmon2/device/pwm2
    hwmon2/device/pwm2 is currently setup for automatic speed control. In general, automatic mode is preferred over manual mode, as it is more efficient and it reacts faster. Are you sure that you want to setup this output for manual control? (n) n
    hwmon2/device/pwm3
    hwmon2/device/pwm3 is currently setup for automatic speed control. In general, automatic mode is preferred over manual mode, as it is more efficient and it reacts faster. Are you sure that you want to setup this output for manual control? (n) n
    There are no usable PWM outputs.

    opted to stay with what BIOS had set - automatic - which works well...


    Yes. LM_sensor is installed, but i think this Dell computer is very limited with options for Linux.
    I believe for Windows there a more programs to use.
    No problem, but sadly.....
    The reply is currently minimized Show
Your Reply