LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Laptop and Netbook
User Name
Password
Linux - Laptop and Netbook Having a problem installing or configuring Linux on your laptop? Need help running Linux on your netbook? This forum is for you. This forum is for any topics relating to Linux and either traditional laptops or netbooks (such as the Asus EEE PC, Everex CloudBook or MSI Wind).

Notices


Reply
  Search this Thread
Old 03-27-2012, 10:48 AM   #1
terdon
LQ Newbie
 
Registered: Jun 2006
Posts: 4

Rep: Reputation: 0
CPU frequency decreases under load, rises when idle


Hello all, I have a strange problem. As it says in the title, my cpu frequency will decrease when the system is under load. The problem seems to be that the BIOS reports different max cpu freqs depending on whether the system is under load. The details given below show the "performance" governor but I get similar behaviour with userspace and ondemand. In all cases, I cannot override the BIOS limit if that is set to the low value (see below).

I get the same problem using either 3.0.0-1-amd64 or 3.2.0-2-amd64 kernels. I have just updated my BIOS and saw no difference. I have tried disabling dynamic frequency by disabling Intel SpeedStep Technology in the BIOS. I got a similar situation. In this case, the CPU was reporting a constant frequency of 2.67 GHz but minor tasks (eg firefox, conky, emacs) would occupy >20% of CPU and the CPU usage would quickly reach 99%. I mean that before running "stress" or similar, firefox was sitting happily at ~6% CPU, As soon as I started stressing the system, firefox shot up to ~20% despite the CPU freq apparently not changing. This seems to imply that the CPU freq is misreported and disabling Intel SpeedStep does not stop the decrease in freq, just stops the system from reporting it.

So, either using dynamic frequency or not, my system becomes unusable when even under minor processor loads. Does anyone have any ideas how to fix this? I seem to recall there are known regressions in the 3.0-3.2 kernels that could affect CPU frequency control. Anybody know if that is true? Should I just wait for 3.3?

System Specs:
Dell M4500
Intel Core i7 M 620 @ 2.67GHz
4GB RAM
LMDE, 3.2.0-2-amd64
BIOS: Dell Inc. A10 11/30/2011


Details when using "performace" governor:
1. System idle:
cpufreq-info output (for one processor):
Code:
cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1.20 GHz - 2.67 GHz
  available frequency steps: 2.67 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz, 1.47 GHz, 1.33 GHz, 1.20 GHz
  available cpufreq governors: userspace, conservative, powersave, ondemand, performance
  current policy: frequency should be within 1.20 GHz and 2.27 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 2.27 GHz.
  cpufreq stats: 2.67 GHz:64.78%, 2.67 GHz:0.81%, 2.53 GHz:1.03%, 2.40 GHz:0.45%, 2.27 GHz:1.38%, 2.13 GHz:1.25%, 2.00 GHz:0.66%, 1.87 GHz:0.48%, 1.73 GHz:0.43%, 1.60 GHz:1.20%, 1.47 GHz:0.80%, 1.33 GHz:0.77%, 1.20 GHz:25.95%  (450)
cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit
Code:
2667000
2. System under load
In this example, I am running stress but anything can trigger this. Even pasting large amounts of data into a terminal(!):
Code:
stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s
Relevant lines of cpufreq-info output:
Code:
 cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1.20 GHz - 2.67 GHz
  available frequency steps: 2.67 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz, 1.47 GHz, 1.33 GHz, 1.20 GHz
  available cpufreq governors: userspace, conservative, powersave, ondemand, performance
  current policy: frequency should be within 1.20 GHz and 1.20 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 1.20 GHz.
  cpufreq stats: 2.67 GHz:60.05%, 2.67 GHz:0.75%, 2.53 GHz:2.21%, 2.40 GHz:0.98%, 2.27 GHz:2.46%, 2.13 GHz:1.18%, 2.00 GHz:0.64%, 1.87 GHz:0.47%, 1.73 GHz:0.42%, 1.60 GHz:1.14%, 1.47 GHz:0.77%, 1.33 GHz:0.73%, 1.20 GHz:28.19%  (462)
cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit
Code:
1199000
 
Old 03-27-2012, 11:23 AM   #2
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Germany
Distribution: Whatever fits the task best
Posts: 17,148
Blog Entries: 2

Rep: Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886
Normally a system clocks down the CPU under load only in one case: when the CPU overheats. Check your cooling system and the temperatures.
 
Old 03-27-2012, 11:43 AM   #3
terdon
LQ Newbie
 
Registered: Jun 2006
Posts: 4

Original Poster
Rep: Reputation: 0
Hi, TobiSGD, thanks for the reply. Well, I have checked the temperatures. With a previous kernel I was having problems with the fan control daemon so I always keep an eye on them.

sensors| grep Core:
Code:
Core 0:       +61.0°C  (high = +95.0°C, crit = +105.0°C)
Core 2:       +68.0°C  (high = +95.0°C, crit = +105.0°C)

I launched stress like so:
Code:
stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 101s
While stress was running, I monitored temp and freq by:
Code:
while [[ 1 == 1 ]]; do  sensors| grep Core; inxi -F | grep Speeds:; done

The clockspeed started decreasing at around 82 degrees. Far from the "high" value, let alone "critical":
Code:
Core 0:       +80.0°C  (high = +95.0°C, crit = +105.0°C)
Core 2:       +85.0°C  (high = +95.0°C, crit = +105.0°C)
           Clock Speeds: (1) 2666.00 MHz (2) 2667.00 MHz (3) 2667.00 MHz (4) 2667.00 MHz

Core 0:       +76.0°C  (high = +95.0°C, crit = +105.0°C)
Core 2:       +82.0°C  (high = +95.0°C, crit = +105.0°C)
           Clock Speeds: (1) 2399.00 MHz (2) 2399.00 MHz (3) 2399.00 MHz (4) 2533.00 MHz

Core 0:       +76.0°C  (high = +95.0°C, crit = +105.0°C)
Core 2:       +82.0°C  (high = +95.0°C, crit = +105.0°C)
           Clock Speeds: (1) 2266.00 MHz (2) 2266.00 MHz (3) 2266.00 MHz (4) 2399.00 MHz
The speed then keeps decreasing until:
Code:
Core 0:       +68.0°C  (high = +95.0°C, crit = +105.0°C)
Core 2:       +71.0°C  (high = +95.0°C, crit = +105.0°C)
           Clock Speeds: (1) 1333.00 MHz (2) 1333.00 MHz (3) 1333.00 MHz (4) 1333.00 MHz
 
Old 03-27-2012, 12:05 PM   #4
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Germany
Distribution: Whatever fits the task best
Posts: 17,148
Blog Entries: 2

Rep: Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886
I would consider those temperatures much to high, 60°C in idle-state would really bother me. I would recommend to clean the cooling system and may be replace the thermal paste.
 
Old 03-27-2012, 12:15 PM   #5
terdon
LQ Newbie
 
Registered: Jun 2006
Posts: 4

Original Poster
Rep: Reputation: 0
Well, yes, that's what I thought. However the temperature range reported shows high at +95.0°. It seems very high to me too but I believe these chips are designed to run much hotter than older models.

In any case, you would appear to be right. It looks like the system lowers the clock speed at a specific threshold. I still don't get why this would be done when the temp is so far from the "high" temperature.
 
Old 03-27-2012, 12:22 PM   #6
273
LQ Addict
 
Registered: Dec 2011
Location: UK
Distribution: Debian Sid AMD64, Raspbian Wheezy, various VMs
Posts: 7,680

Rep: Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373Reputation: 2373
What temperature does the "Motherboard Sensor" give?
I ask because on my system the threshold for the MB is 70C (and CPU 90C) and the CPU and MB sensors are usually within 10C of one another.
 
Old 03-27-2012, 12:24 PM   #7
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Germany
Distribution: Whatever fits the task best
Posts: 17,148
Blog Entries: 2

Rep: Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886
That high temperature is only 10° below the value when the system does an emergency shut down. It may be possible that the laptop manufacturer has implemented a lower threshold into the BIOS to protect parts that are near the CPU.
 
Old 03-27-2012, 01:38 PM   #8
terdon
LQ Newbie
 
Registered: Jun 2006
Posts: 4

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by 273
What temperature does the "Motherboard Sensor" give?
I ask because on my system the threshold for the MB is 70C (and CPU 90C) and the CPU and MB sensors are usually within 10C of one another.
Dunno, cant get info for that one. Getting sensors to work on my laptop is complicated:
Code:
$ inxi -F | grep Sensors
Sensors:   System Temperatures: cpu: 68.0C mobo: N/A gpu: 0.0:72C
Quote:
Originally Posted by TobiSGD View Post
That high temperature is only 10° below the value when the system does an emergency shut down. It may be possible that the laptop manufacturer has implemented a lower threshold into the BIOS to protect parts that are near the CPU.
Yes, that seems quite likely. Well %&#@! I'll have to open it up and check the cpu I guess.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] High CPU load, but low CPU usage (high idle CPU) baffy Linux - Newbie 5 03-13-2013 09:24 AM
[SOLVED] CPU frequency scaling will not load at boot coralfang Slackware 2 11-16-2010 08:32 PM
Cpu load at 59% when idle stubbe Linux - General 12 09-26-2006 01:15 PM
High load - but CPU 99% idle? Boss Hoss Linux - Hardware 6 05-24-2004 04:39 AM
High idle cpu load in 2.6.4? geekzen Linux - General 4 04-10-2004 11:54 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Laptop and Netbook

All times are GMT -5. The time now is 08:59 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration