ygor

AMD HP N54L PowerSave CPU on DSM 6.1.4 / loader 1.02b

Recommended Posts

By default CPU is working 100% all time (2200Mhz)

 

with the script found in previous post it works (bootloader 1.02b) on AMD

 

before: fixed state:

sh-4.3# grep MHz /proc/cpuinfo
cpu MHz         : 2200.000
cpu MHz         : 2200.000

after:

sh-4.3# grep MHz /proc/cpuinfo
cpu MHz         : 800.000
cpu MHz         : 1300.000
sh-4.3# grep MHz /proc/cpuinfo
cpu MHz         : 800.000
cpu MHz         : 800.000
sh-4.3# grep MHz /proc/cpuinfo
cpu MHz         : 800.000
cpu MHz         : 1900.000
sh-4.3# grep MHz /proc/cpuinfo
cpu MHz         : 800.000
cpu MHz         : 800.000
sh-4.3# grep MHz /proc/cpuinfo
cpu MHz         : 800.000
cpu MHz         : 800.000
sh-4.3# grep MHz /proc/cpuinfo
cpu MHz         : 1300.000
cpu MHz         : 1600.000

 

the original script was not working due to this line: insmod /lib/modules/powernow-k8.ko, just had to comment it

 

Script: 

# vi S99PowersavingAMD.sh

 

#!/bin/sh

for c in $(ls -d /sys/devices/system/cpu/cpu[0-9]*);
do if ! grep -q 'conservative' $c/cpufreq/scaling_governor ;
    then echo conservative >$c/cpufreq/scaling_governor ;
    fi
    done

 

copy the scipt to:

/usr/local/etc/rc.d/S99PowersavingAMD.sh

 

edit crontab and add:

*/15 * * * * root /usr/local/etc/rc.d/S99PowersavingAMD.sh 

 

Don't wait for 15 minutes to activate the script:

sh /usr/local/etc/rc.d/S99PowersavingAMD.sh

 

sh-4.3# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
conservative
sh-4.3# cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
conservative

 

Default mode : performance    Run the CPU at the maximum frequency.
Switch to mode : conservative    Scales the frequency dynamically according to current load. Scales the frequency more gradually than ondemand.

 

 

looks good 

Edited by Polanskiman
added proper code tags
  • Like 1

Share this post


Link to post
Share on other sites

I have tried it on my HP N54L running DSM 6.1.4 U2.

Works fine. Thank you.

 

 

Share this post


Link to post
Share on other sites

Has anyone actually measured any appreciable power usage difference before and after running this script?  Your CPU is not running 100% just because your CPU it showing full speed.  I imagine the difference with CPU stepping on vs off for most people is tens of pennies per year, honestly.

Share this post


Link to post
Share on other sites

Same as on your phone. When idling it goes down, and same on laptop with windows , CPU is going down on frequency by défaut.

Share this post


Link to post
Share on other sites

i know it is not going to make a big diff on the bill, but cpu may also cool a bit as it require less energy. 

 

Share this post


Link to post
Share on other sites

It might, but if it is not being used much, as most of our N54Ls are not I suspect from a processor perspective, the fluctuation may be more harmful that it is worth.  And for battery operated devices like the phones mentioned above, it matters.  For devices on power all the time, if a processor is idling at 2.0ghz or 800mhz, the actual power used is minimally different.  I am not trying to be an a$$, just pointing out that often things are just not worth chasing.  I know I had to disable C1E on my n54l when moving from 5.2 to 6.1, and that disabled some of the more effective power savings anyway.  But again, n54l is pretty cheap to run 24x7x365 as it is.

Share this post


Link to post
Share on other sites

Its not only power bill savings. Cooler CPU = less fan noise. It matters for some.

Share this post


Link to post
Share on other sites

The script is not for AMD only, since the module is not required since kernel 3.4 (dsm 6.1.x have kernel 3.10)

 

It should work for any X86_64 cpu, if someone can confirm with other hardware.

 

for more than 10 cpu core change the line : for c in $(ls -d /sys/devices/system/cpu/cpu[0-9]*); to ->by for c in $(ls -d /sys/devices/system/cpu/cpu[0-15]*); for 16 cores.

 

We could change the title AMD HP N54L PowerSave CPU on DSM 6.1.4 / loader 1.02b -> AMD / Intel PowerSave CPU on DSM 6.1.x / loader 1.02b

 

and rename:  S99PowersavingAMD.sh with vi S99Powersaving.sh as nothing in the script is related to AMD. (except the removed line for DSM 5.x) ?

 

I can't edit the first post.

Edited by ygor

Share this post


Link to post
Share on other sites
Has anyone actually measured any appreciable power usage difference before and after running this script?  Your CPU is not running 100% just because your CPU it showing full speed.  I imagine the difference with CPU stepping on vs off for most people is tens of pennies per year, honestly.
I have the same question.
Anyone actually done tests on PowerUsage and CPU Temperature before and after?

When I tried this on my Intel g1610t it did make 0 difference.
From 44W usage to 44W usage. No temperature difference either.

I could retry it now on the X1265L......

Share this post


Link to post
Share on other sites
Posted (edited)

Hello everyone
I have a system with APU A6-5400k

I didn't understand where I find the script and how to install it.

Can someone help me?

 

 

Edited by 123gas

Share this post


Link to post
Share on other sites

@ygor

 

Hey, do you have an idea how to make this working on an old DSM 5.2 5967 with Xpenoboot N54L baremetal installation? The old script was working for me till update to DSM 5.2.

 

Thank you

Share this post


Link to post
Share on other sites

@apejovic

 

It should work with the HP N54L (modded bios - never tried with original bios) as this path exist when the bios is set to and option like:  power comsuption is managed by the os. (i don't have the N54L to check anymore)

 

For exemple on the HP gen8 microserver this path is created when that powersave option is set on os managed, and after a reboot of the os.

After trying with a watt meter this option and the powersave mode on the gen8 values are almost the same. Around 30 / 35 watts with a xeon 1245L.

 

 

you might want to execute the script manualy to see an error like: path not found, or module error

-> path not found : should be bios related

-> module error : should comment the list of modules: #modprobe .... (probably not required since the kernel is more recent)

 

 

I can't help much, as i did not test that with 5.2, and don't have the N54L anymore.

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now