Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.user > #242573 > unrolled thread
| Started by | Lee <ler762@gmail.com> |
|---|---|
| First post | 2021-12-01 18:00 +0100 |
| Last post | 2021-12-02 07:30 +0100 |
| Articles | 13 — 5 participants |
Back to article view | Back to linux.debian.user
using intel i5 freqency governors Lee <ler762@gmail.com> - 2021-12-01 18:00 +0100
Re: using intel i5 freqency governors David Christensen <dpchrist@holgerdanske.com> - 2021-12-02 03:10 +0100
Re: using intel i5 freqency governors Nicholas Geovanis <nickgeovanis@gmail.com> - 2021-12-02 05:40 +0100
Re: using intel i5 freqency governors Stefan Monnier <monnier@iro.umontreal.ca> - 2021-12-02 06:10 +0100
Re: using intel i5 freqency governors Lee <ler762@gmail.com> - 2021-12-02 06:30 +0100
Re: using intel i5 freqency governors Stefan Monnier <monnier@iro.umontreal.ca> - 2021-12-02 07:00 +0100
Re: using intel i5 freqency governors Tixy <tixy@yxit.co.uk> - 2021-12-02 09:10 +0100
Re: using intel i5 freqency governors Tixy <tixy@yxit.co.uk> - 2021-12-02 09:20 +0100
Re: using intel i5 freqency governors Stefan Monnier <monnier@iro.umontreal.ca> - 2021-12-03 16:30 +0100
Re: using intel i5 freqency governors Tixy <tixy@yxit.co.uk> - 2021-12-03 17:10 +0100
Re: using intel i5 freqency governors Lee <ler762@gmail.com> - 2021-12-02 16:00 +0100
Re: using intel i5 freqency governors Lee <ler762@gmail.com> - 2021-12-02 06:10 +0100
Re: using intel i5 freqency governors David Christensen <dpchrist@holgerdanske.com> - 2021-12-02 07:30 +0100
| From | Lee <ler762@gmail.com> |
|---|---|
| Date | 2021-12-01 18:00 +0100 |
| Subject | using intel i5 freqency governors |
| Message-ID | <DpB7A-4Gm-9@gated-at.bofh.it> |
The short story is that I have an Intel i3 windows 10 desktop with
cygwin installed and an Intel i5 debian desktop. One of my scripts
takes about 10 minutes to run on the windows/i3 and 15 minutes on the
debian/i5! ick
if i do
$ sudo cpupower frequency-set -g performance
then it takes about 10 minutes to run the script on the i5, **but**
the cpu frequency never drops down to power-saving mode when the
machine is idle - eg
$ sudo cpupower -c all frequency-info | grep 'call to kernel'
current CPU frequency: 3.99 GHz (asserted by call to kernel)
current CPU frequency: 3.95 GHz (asserted by call to kernel)
current CPU frequency: 4.01 GHz (asserted by call to kernel)
current CPU frequency: 3.91 GHz (asserted by call to kernel)
current CPU frequency: 3.96 GHz (asserted by call to kernel)
current CPU frequency: 4.00 GHz (asserted by call to kernel)
and more annoying, setting the frequency governor back to powersave
doesn't seem to drop the frequency all that much
$ sudo cpupower frequency-set -g powersave
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
$ sudo cpupower -c all frequency-info | egrep 'call to kernel|The governor'
The governor "powersave" may decide which speed to use
current CPU frequency: 3.85 GHz (asserted by call to kernel)
The governor "powersave" may decide which speed to use
current CPU frequency: 3.58 GHz (asserted by call to kernel)
The governor "powersave" may decide which speed to use
current CPU frequency: 4.01 GHz (asserted by call to kernel)
The governor "powersave" may decide which speed to use
current CPU frequency: 3.55 GHz (asserted by call to kernel)
The governor "powersave" may decide which speed to use
current CPU frequency: 3.66 GHz (asserted by call to kernel)
The governor "powersave" may decide which speed to use
current CPU frequency: 3.57 GHz (asserted by call to kernel)
How do I get the intel cpu "turbo boost" fully engaged when I'm
running my script and go back into power save mode when the machine is
idle?
Thanks
Lee
[toc] | [next] | [standalone]
| From | David Christensen <dpchrist@holgerdanske.com> |
|---|---|
| Date | 2021-12-02 03:10 +0100 |
| Message-ID | <DpJHP-1Fq-5@gated-at.bofh.it> |
| In reply to | #242573 |
On 12/1/21 8:58 AM, Lee wrote: > The short story is that I have an Intel i3 windows 10 desktop with > cygwin installed and an Intel i5 debian desktop. One of my scripts > takes about 10 minutes to run on the windows/i3 and 15 minutes on the > debian/i5! ick > > if i do > $ sudo cpupower frequency-set -g performance > > then it takes about 10 minutes to run the script on the i5, **but** > the cpu frequency never drops down to power-saving mode when the > machine is idle - eg > $ sudo cpupower -c all frequency-info | grep 'call to kernel' > current CPU frequency: 3.99 GHz (asserted by call to kernel) > current CPU frequency: 3.95 GHz (asserted by call to kernel) > current CPU frequency: 4.01 GHz (asserted by call to kernel) > current CPU frequency: 3.91 GHz (asserted by call to kernel) > current CPU frequency: 3.96 GHz (asserted by call to kernel) > current CPU frequency: 4.00 GHz (asserted by call to kernel) > > and more annoying, setting the frequency governor back to powersave > doesn't seem to drop the frequency all that much > > $ sudo cpupower frequency-set -g powersave > Setting cpu: 0 > Setting cpu: 1 > Setting cpu: 2 > Setting cpu: 3 > Setting cpu: 4 > Setting cpu: 5 > > $ sudo cpupower -c all frequency-info | egrep 'call to kernel|The governor' > The governor "powersave" may decide which speed to use > current CPU frequency: 3.85 GHz (asserted by call to kernel) > The governor "powersave" may decide which speed to use > current CPU frequency: 3.58 GHz (asserted by call to kernel) > The governor "powersave" may decide which speed to use > current CPU frequency: 4.01 GHz (asserted by call to kernel) > The governor "powersave" may decide which speed to use > current CPU frequency: 3.55 GHz (asserted by call to kernel) > The governor "powersave" may decide which speed to use > current CPU frequency: 3.66 GHz (asserted by call to kernel) > The governor "powersave" may decide which speed to use > current CPU frequency: 3.57 GHz (asserted by call to kernel) > > > How do I get the intel cpu "turbo boost" fully engaged when I'm > running my script and go back into power save mode when the machine is > idle? > > Thanks > Lee Which i3? i5? Debian? Linux? I assume your script is single-threaded (?). I am unfamiliar with 'cpupower'. I use cpufreq-set(1) to set the governor and the Xfce panel applet "CPU Frequency Monitor" to monitor the CPU frequency and/or governor. The latter tool lets me choose a specific core, minimum, average, or maximum frequency. My compute-bound single-threaded scripts cause the CPU frequency to increase to maximum on my quad-core i7: 2021-12-01 17:48:27 root@tinkywinky ~ # cat /etc/debian_version ; uname -a ; cpufreq-info -p 9.13 Linux tinkywinky 4.9.0-16-amd64 #1 SMP Debian 4.9.272-2 (2021-07-19) x86_64 GNU/Linux 800000 3300000 powersave Perhaps your governor is somehow broken? But, the best answer is to rewrite your script as a parallel program. The challenge is: what programming language? Shells can do simple parallelism via background tasks, if you can break up your script suitably. I have been beating my head against multi-threaded Perl for several years, but I do not recommend it. If you want a recent programming language designed for parallel programming, an obvious choice is Go. Erlang is older, very robust, and adds distributed programming, but the syntax is very different (Prolog based). I attempted Clojure, but never got off the ground. There are other choices. David
[toc] | [prev] | [next] | [standalone]
| From | Nicholas Geovanis <nickgeovanis@gmail.com> |
|---|---|
| Date | 2021-12-02 05:40 +0100 |
| Message-ID | <DpM2Z-31S-3@gated-at.bofh.it> |
| In reply to | #242587 |
[Multipart message — attachments visible in raw view] — view raw
On Wed, Dec 1, 2021, 8:06 PM David Christensen <dpchrist@holgerdanske.com> wrote: > ..... > But, the best answer is to rewrite your script as a parallel program. > The challenge is: what programming language? Shells can do simple > parallelism via background tasks, if you can break up your script > suitably. I have been beating my head against multi-threaded Perl for > several years, but I do not recommend it. If you want a recent > programming language designed for parallel programming, an obvious > choice is Go. Erlang is older, very robust, and adds distributed .... You can save yourself some trouble by using a parallel or distributed shell. The two that come to mind are pdksh and IBM's distributed shell dsh. Then you can write shell scripts in more familiar ways that are concurrent without learning a new language or environment. > David > >
[toc] | [prev] | [next] | [standalone]
| From | Stefan Monnier <monnier@iro.umontreal.ca> |
|---|---|
| Date | 2021-12-02 06:10 +0100 |
| Message-ID | <DpMw1-3r1-5@gated-at.bofh.it> |
| In reply to | #242587 |
>> The short story is that I have an Intel i3 windows 10 desktop with
>> cygwin installed and an Intel i5 debian desktop.
[ Side note: terms like `i3` and `i5` are basically marketing names
equivalent to "cheap" and "average price". They do not correspond to
any specific set of features nor any specific performance level, so
they're of no technical relevance other than saying something like "an
intel CPU from ≥2009 with an amd64 instruction set". ]
>> How do I get the intel cpu "turbo boost" fully engaged when I'm
>> running my script and go back into power save mode when the machine is
>> idle?
That should be the default behavior (i.e. if you don't touch any cpu
power configuration).
In that case, /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
should usually say `schedutil` nowadays AFAIK (which has replaced the
previous default of `ondemand`).
Stefan
[toc] | [prev] | [next] | [standalone]
| From | Lee <ler762@gmail.com> |
|---|---|
| Date | 2021-12-02 06:30 +0100 |
| Message-ID | <DpMPo-3CD-7@gated-at.bofh.it> |
| In reply to | #242595 |
On 12/2/21, Stefan Monnier wrote: >>> The short story is that I have an Intel i3 windows 10 desktop with >>> cygwin installed and an Intel i5 debian desktop. > > [ Side note: terms like `i3` and `i5` are basically marketing names > equivalent to "cheap" and "average price". They do not correspond to > any specific set of features nor any specific performance level, so > they're of no technical relevance other than saying something like "an > intel CPU from ≥2009 with an amd64 instruction set". ] I found this site that compares the two cpus I have https://www.cpu-world.com/Compare/414/Intel_Core_i3_i3-7100_vs_Intel_Core_i5_i5-9400.html >>> How do I get the intel cpu "turbo boost" fully engaged when I'm >>> running my script and go back into power save mode when the machine is >>> idle? > > That should be the default behavior (i.e. if you don't touch any cpu > power configuration). Unfortunately, it clearly is _not_ the behavior I get. .. and I hadn't touched any power config until I was trying things to get my 900 second execution time down around the 600 seconds it takes on the windows/cygwin machine. > In that case, /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor > should usually say `schedutil` nowadays AFAIK (which has replaced the > previous default of `ondemand`). hrmm... I get $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor powersave $ sudo cpupower frequency-set -g performance Setting cpu: 0 Setting cpu: 1 Setting cpu: 2 Setting cpu: 3 Setting cpu: 4 Setting cpu: 5 $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor performance Lee
[toc] | [prev] | [next] | [standalone]
| From | Stefan Monnier <monnier@iro.umontreal.ca> |
|---|---|
| Date | 2021-12-02 07:00 +0100 |
| Message-ID | <DpNip-3MB-3@gated-at.bofh.it> |
| In reply to | #242598 |
>>>> How do I get the intel cpu "turbo boost" fully engaged when I'm
>>>> running my script and go back into power save mode when the machine is
>>>> idle?
>>
>> That should be the default behavior (i.e. if you don't touch any cpu
>> power configuration).
>
> Unfortunately, it clearly is _not_ the behavior I get. .. and I
> hadn't touched any power config until I was trying things to get my
> 900 second execution time down around the 600 seconds it takes on the
> windows/cygwin machine.
You might want to try and figure out why you get `powersave` as default
governor, but until you've figured it out, you might like to force the
use of the `schedutil` governor instead which should give you the same
kind of speed as the `performance` governor under load while reverting
to low-power state afterwards.
Stefan
[toc] | [prev] | [next] | [standalone]
| From | Tixy <tixy@yxit.co.uk> |
|---|---|
| Date | 2021-12-02 09:10 +0100 |
| Message-ID | <DpPkd-5fa-1@gated-at.bofh.it> |
| In reply to | #242600 |
On Thu, 2021-12-02 at 00:38 -0500, Stefan Monnier wrote: > > > > > [...] > You might want to try and figure out why you get `powersave` as > default governor, but until you've figured it out, you might like > to force the use of the `schedutil` governor instead I get 'powersave' as default too. According to the ArchWiki site [1] modern Intel CPUs use the intel_pstate driver which selects 'powersave' by default, and it goes on to say: The intel_pstate driver supports only two governors: powersave and performance. Although they share the name with the generic governors, they do not work in the same way as the generic governors. [1] https://wiki.archlinux.org/title/CPU_frequency_scaling -- Tixy
[toc] | [prev] | [next] | [standalone]
| From | Tixy <tixy@yxit.co.uk> |
|---|---|
| Date | 2021-12-02 09:20 +0100 |
| Message-ID | <DpPtT-5ii-3@gated-at.bofh.it> |
| In reply to | #242603 |
On Thu, 2021-12-02 at 08:02 +0000, Tixy wrote: > On Thu, 2021-12-02 at 00:38 -0500, Stefan Monnier wrote: > > > > > > > [...] > > You might want to try and figure out why you get `powersave` as > > default governor, but until you've figured it out, you might like > > to force the use of the `schedutil` governor instead > > I get 'powersave' as default too. According to the ArchWiki site [1] > modern Intel CPUs use the intel_pstate driver which selects 'powersave' > by default I should also add, I have no problem with CPU frequency automatically boosting when needed... $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 800101 $ while : ; do : ; done & [1] 4817 $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 4600947 $ kill 4817 $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 800174 So that's 0.8GHz -> 4.6GHz -> 0.8GHz -- Tixy
[toc] | [prev] | [next] | [standalone]
| From | Stefan Monnier <monnier@iro.umontreal.ca> |
|---|---|
| Date | 2021-12-03 16:30 +0100 |
| Message-ID | <DqiFz-5DG-7@gated-at.bofh.it> |
| In reply to | #242603 |
> I get 'powersave' as default too. According to the ArchWiki site [1]
> modern Intel CPUs use the intel_pstate driver which selects 'powersave'
> by default, and it goes on to say:
>
> The intel_pstate driver supports only two governors: powersave and
> performance. Although they share the name with the generic
> governors, they do not work in the same way as the generic
> governors.
Hmm... on my machine I don't have the `intel_pstate` loaded, apparently.
Doing `modprobe intel_pstate` does nothing (no output, no error, nothing
in `dmesg` either). Maybe my i3-4170 CPU is too old and it silently
bows out (and then some other part of the default config favors
`schedutil` over `powersave` when intel_pstate is not in use)?
Stefan
[toc] | [prev] | [next] | [standalone]
| From | Tixy <tixy@yxit.co.uk> |
|---|---|
| Date | 2021-12-03 17:10 +0100 |
| Message-ID | <Dqjij-660-29@gated-at.bofh.it> |
| In reply to | #242653 |
On Fri, 2021-12-03 at 10:19 -0500, Stefan Monnier wrote: > > I get 'powersave' as default too. According to the ArchWiki site > > [1] > > modern Intel CPUs use the intel_pstate driver which selects > > 'powersave' > > by default, and it goes on to say: > > > > The intel_pstate driver supports only two governors: powersave > > and > > performance. Although they share the name with the generic > > governors, they do not work in the same way as the generic > > governors. > > Hmm... on my machine I don't have the `intel_pstate` loaded, > apparently. > Doing `modprobe intel_pstate` does nothing (no output, no error, > nothing > in `dmesg` either). Maybe my i3-4170 CPU is too old and it silently > bows out (and then some other part of the default config favors > `schedutil` over `powersave` when intel_pstate is not in use)? The ArchWiki page [1] says of intel_pstate: This driver implements a scaling driver with an internal governor for Intel Core (Sandy Bridge and newer) processors. So yours is new enough. The docs on kernel.org [2] say it's Sandy Bridge too. On my kernel, the module is built-in to the kernel... $cat /lib/modules/$(uname -r)/modules.builtin | grep pstate kernel/drivers/cpufreq/intel_pstate.ko And its sysfs directory exists... $ ls -ld /sys/devices/system/cpu/intel_pstate drwxr-xr-x 2 root root 0 Dec 3 07:52 /sys/devices/system/cpu/intel_pstate [1] https://wiki.archlinux.org/title/CPU_frequency_scaling [2] https://www.kernel.org/doc/html/v4.19/admin-guide/pm/intel_pstate.html -- Tixy
[toc] | [prev] | [next] | [standalone]
| From | Lee <ler762@gmail.com> |
|---|---|
| Date | 2021-12-02 16:00 +0100 |
| Message-ID | <DpVIZ-kb-3@gated-at.bofh.it> |
| In reply to | #242600 |
On 12/2/21, Stefan Monnier wrote: >>>>> How do I get the intel cpu "turbo boost" fully engaged when I'm >>>>> running my script and go back into power save mode when the machine is >>>>> idle? >>> >>> That should be the default behavior (i.e. if you don't touch any cpu >>> power configuration). >> >> Unfortunately, it clearly is _not_ the behavior I get. .. and I >> hadn't touched any power config until I was trying things to get my >> 900 second execution time down around the 600 seconds it takes on the >> windows/cygwin machine. > > You might want to try and figure out why you get `powersave` as default > governor, How much weight should a debian user give the arch linux wiki? Because that says you get powersave as the default: https://wiki.archlinux.org/title/CPU_frequency_scaling > but until you've figured it out, you might like to force the > use of the `schedutil` governor instead which should give you the same > kind of speed as the `performance` governor under load while reverting > to low-power state afterwards. I'll take a look at it - thanks Lee
[toc] | [prev] | [next] | [standalone]
| From | Lee <ler762@gmail.com> |
|---|---|
| Date | 2021-12-02 06:10 +0100 |
| Message-ID | <DpMw1-3r1-7@gated-at.bofh.it> |
| In reply to | #242587 |
Hi, On 12/1/21, David Christensen wrote: > On 12/1/21 8:58 AM, Lee wrote: >> The short story is that I have an Intel i3 windows 10 desktop with >> cygwin installed and an Intel i5 debian desktop. One of my scripts >> takes about 10 minutes to run on the windows/i3 and 15 minutes on the >> debian/i5! ick >> >> if i do >> $ sudo cpupower frequency-set -g performance >> >> then it takes about 10 minutes to run the script on the i5, **but** >> the cpu frequency never drops down to power-saving mode when the >> machine is idle - eg >> $ sudo cpupower -c all frequency-info | grep 'call to kernel' >> current CPU frequency: 3.99 GHz (asserted by call to kernel) >> current CPU frequency: 3.95 GHz (asserted by call to kernel) >> current CPU frequency: 4.01 GHz (asserted by call to kernel) >> current CPU frequency: 3.91 GHz (asserted by call to kernel) >> current CPU frequency: 3.96 GHz (asserted by call to kernel) >> current CPU frequency: 4.00 GHz (asserted by call to kernel) >> >> and more annoying, setting the frequency governor back to powersave >> doesn't seem to drop the frequency all that much >> >> $ sudo cpupower frequency-set -g powersave >> Setting cpu: 0 >> Setting cpu: 1 >> Setting cpu: 2 >> Setting cpu: 3 >> Setting cpu: 4 >> Setting cpu: 5 >> >> $ sudo cpupower -c all frequency-info | egrep 'call to kernel|The >> governor' >> The governor "powersave" may decide which speed to use >> current CPU frequency: 3.85 GHz (asserted by call to kernel) >> The governor "powersave" may decide which speed to use >> current CPU frequency: 3.58 GHz (asserted by call to kernel) >> The governor "powersave" may decide which speed to use >> current CPU frequency: 4.01 GHz (asserted by call to kernel) >> The governor "powersave" may decide which speed to use >> current CPU frequency: 3.55 GHz (asserted by call to kernel) >> The governor "powersave" may decide which speed to use >> current CPU frequency: 3.66 GHz (asserted by call to kernel) >> The governor "powersave" may decide which speed to use >> current CPU frequency: 3.57 GHz (asserted by call to kernel) >> >> >> How do I get the intel cpu "turbo boost" fully engaged when I'm >> running my script and go back into power save mode when the machine is >> idle? >> >> Thanks >> Lee > > > Which i3? Intel(R) Core(TM) i3-7100 CPU @ 3.90GHz > i5? Intel(R) Core(TM) i5-9400 CPU @ 2.90GHz There's an 'Operating frequency' graph at https://www.cpu-world.com/Compare/414/Intel_Core_i3_i3-7100_vs_Intel_Core_i5_i5-9400.html comparing the i3 to the i5. It looks like they should be roughly even .. which they seem to be if I do the sudo cpupower frequency-set -g performance before running the script. But then I do sudo cpupower frequency-set -g powersave after the script completes and the machine doesn't drop down to much of a lower frequency when it's idle:( I had to reboot to get the cpu frequency down around 800Mhz again. > Debian? Linux? Debian 11 .. which is linux - yes? > I assume your script is single-threaded (?). You assume correctly :) > I am unfamiliar with 'cpupower'. I use cpufreq-set(1) to set the > governor and the Xfce panel applet "CPU Frequency Monitor" to monitor > the CPU frequency and/or governor. The CPU Frequency Monitor applet seems to work only if you're root :( I added it to my xfce panel and it just says 0.80Ghz -- which matches what I get running cpupower as a lowly user: $ cpupower -c all frequency-info | grep 'call to kernel' current CPU frequency: 800 MHz (asserted by call to kernel) current CPU frequency: 800 MHz (asserted by call to kernel) current CPU frequency: 800 MHz (asserted by call to kernel) current CPU frequency: 800 MHz (asserted by call to kernel) current CPU frequency: 800 MHz (asserted by call to kernel) current CPU frequency: 800 MHz (asserted by call to kernel) lee@spot ~ $ sudo cpupower -c all frequency-info | grep 'call to kernel' [sudo] password for lee: current CPU frequency: 3.50 GHz (asserted by call to kernel) current CPU frequency: 810 MHz (asserted by call to kernel) current CPU frequency: 947 MHz (asserted by call to kernel) current CPU frequency: 3.13 GHz (asserted by call to kernel) current CPU frequency: 1.52 GHz (asserted by call to kernel) current CPU frequency: 992 MHz (asserted by call to kernel) I've got the XFCE panel applet CPU Graph that never shows much of any cpu usage. and the cli program top which will show 99.9% cpu busy when I'm running meld on a pair of 500K line files (which seems very excessive unless meld is multi-threaded). > My compute-bound single-threaded scripts cause the CPU frequency to > increase to maximum on my quad-core i7: > > 2021-12-01 17:48:27 root@tinkywinky ~ > # cat /etc/debian_version ; uname -a ; cpufreq-info -p > 9.13 > Linux tinkywinky 4.9.0-16-amd64 #1 SMP Debian 4.9.272-2 (2021-07-19) > x86_64 GNU/Linux > 800000 3300000 powersave Mine says: # cat /etc/debian_version ; uname -a ; cpufreq-info -p 11.1 Linux spot 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 GNU/Linux 800000 4100000 powersave > Perhaps your governor is somehow broken? I didn't even know I had a governor until today :) How do I tell if it's broken? > But, the best answer is to rewrite your script as a parallel program. Not the answer I wanted to get :( But if I can't figure out any other way I'm hoping that parallel (http://www.gnu.org/software/parallel/) will be the easy way to parallelize the script. Thanks, Lee
[toc] | [prev] | [next] | [standalone]
| From | David Christensen <dpchrist@holgerdanske.com> |
|---|---|
| Date | 2021-12-02 07:30 +0100 |
| Message-ID | <DpNLr-4bv-1@gated-at.bofh.it> |
| In reply to | #242596 |
On 12/1/21 9:08 PM, Lee wrote: > Hi, > > On 12/1/21, David Christensen wrote: >> On 12/1/21 8:58 AM, Lee wrote: >>> The short story is that I have an Intel i3 windows 10 desktop with >>> cygwin installed and an Intel i5 debian desktop. One of my scripts >>> takes about 10 minutes to run on the windows/i3 and 15 minutes on the >>> debian/i5! ick >>> >>> if i do >>> $ sudo cpupower frequency-set -g performance >>> >>> then it takes about 10 minutes to run the script on the i5, **but** >>> the cpu frequency never drops down to power-saving mode when the >>> machine is idle - eg >>> $ sudo cpupower -c all frequency-info | grep 'call to kernel' >>> current CPU frequency: 3.99 GHz (asserted by call to kernel) >>> current CPU frequency: 3.95 GHz (asserted by call to kernel) >>> current CPU frequency: 4.01 GHz (asserted by call to kernel) >>> current CPU frequency: 3.91 GHz (asserted by call to kernel) >>> current CPU frequency: 3.96 GHz (asserted by call to kernel) >>> current CPU frequency: 4.00 GHz (asserted by call to kernel) That is expected. Performance runs the CPU at maximum frequency all of the time. >>> >>> and more annoying, setting the frequency governor back to powersave >>> doesn't seem to drop the frequency all that much >>> >>> $ sudo cpupower frequency-set -g powersave >>> Setting cpu: 0 >>> Setting cpu: 1 >>> Setting cpu: 2 >>> Setting cpu: 3 >>> Setting cpu: 4 >>> Setting cpu: 5 >>> >>> $ sudo cpupower -c all frequency-info | egrep 'call to kernel|The >>> governor' >>> The governor "powersave" may decide which speed to use >>> current CPU frequency: 3.85 GHz (asserted by call to kernel) >>> The governor "powersave" may decide which speed to use >>> current CPU frequency: 3.58 GHz (asserted by call to kernel) >>> The governor "powersave" may decide which speed to use >>> current CPU frequency: 4.01 GHz (asserted by call to kernel) >>> The governor "powersave" may decide which speed to use >>> current CPU frequency: 3.55 GHz (asserted by call to kernel) >>> The governor "powersave" may decide which speed to use >>> current CPU frequency: 3.66 GHz (asserted by call to kernel) >>> The governor "powersave" may decide which speed to use >>> current CPU frequency: 3.57 GHz (asserted by call to kernel) That is a problem. >>> How do I get the intel cpu "turbo boost" fully engaged when I'm >>> running my script and go back into power save mode when the machine is >>> idle? I leave my governor at the default value (powersave) all of the time. >> Which i3? > > Intel(R) Core(TM) i3-7100 CPU @ 3.90GHz That should run a single-threaded program at 3.90 GHz. >> i5? > > Intel(R) Core(TM) i5-9400 CPU @ 2.90GHz That should run a single-threaded program at 4.10 GHz. > There's an 'Operating frequency' graph at > https://www.cpu-world.com/Compare/414/Intel_Core_i3_i3-7100_vs_Intel_Core_i5_i5-9400.html > comparing the i3 to the i5. It looks like they should be roughly even > .. which they seem to be if I do the > sudo cpupower frequency-set -g performance > before running the script. Sites like that typically use benchmarks that use all available cores. I looked at the Intel site to get the single-threaded numbers, above: https://ark.intel.com/content/www/us/en/ark/compare.html?productIds=134898,97455 >> Debian? Linux? > > Debian 11 .. which is linux - yes? Linux is the kernel. 'uname -a' (below) gives that information. >> I assume your script is single-threaded (?). > > You assume correctly :) > > >> I am unfamiliar with 'cpupower'. I use cpufreq-set(1) to set the >> governor and the Xfce panel applet "CPU Frequency Monitor" to monitor >> the CPU frequency and/or governor. > > The CPU Frequency Monitor applet seems to work only if you're root :( It is unwise to run a graphical desktop as root. CPU Frequency Monitor works correctly with my normal account on Debian 9 and 10. I have not tried 11. > I added it to my xfce panel and it just says 0.80Ghz -- Right click on it, choose Properties, and set Display CPU to "max". Then run some CPU intensive programs and watch if the frequency displayed changes. > I've got the XFCE panel applet CPU Graph that never shows much of any > cpu usage. and the cli program top which will show 99.9% cpu busy when > I'm running meld on a pair of 500K line files (which seems very > excessive unless meld is multi-threaded). That means meld is using one core 99.9%. A parallel program should show the program on several lines with CPU utilization anywhere between 0 and 100%. >> My compute-bound single-threaded scripts cause the CPU frequency to >> increase to maximum on my quad-core i7: >> >> 2021-12-01 17:48:27 root@tinkywinky ~ >> # cat /etc/debian_version ; uname -a ; cpufreq-info -p >> 9.13 >> Linux tinkywinky 4.9.0-16-amd64 #1 SMP Debian 4.9.272-2 (2021-07-19) >> x86_64 GNU/Linux >> 800000 3300000 powersave > > Mine says: > # cat /etc/debian_version ; uname -a ; cpufreq-info -p > 11.1 > Linux spot 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 GNU/Linux > 800000 4100000 powersave Okay. Facts produced by console sessions make for better posts, questions, and answers. >> Perhaps your governor is somehow broken? > > I didn't even know I had a governor until today :) How do I tell if > it's broken? By understanding what the CPU frequency governor it is supposed to do, and then devising and running tests to verify that you understand it and it works. >> But, the best answer is to rewrite your script as a parallel program. > > Not the answer I wanted to get :( But if I can't figure out any other > way I'm hoping that parallel (http://www.gnu.org/software/parallel/) > will be the easy way to parallelize the script. > > Thanks, > Lee Please tell us about your script so that we can make relevant comments. What language? What task does it accomplish? How is it designed? If you can boil it down and post the code, that would be best. David
[toc] | [prev] | [standalone]
Back to top | Article view | linux.debian.user
csiph-web