Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Aug 2016 02:54:42 +1000 (EST)
From:      Ian Smith <smithi@nimnet.asn.au>
To:        Aleksander Alekseev <afiskon@devzen.ru>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Power consumption tuning
Message-ID:  <20160811015734.D79687@sola.nimnet.asn.au>
In-Reply-To: <mailman.109.1470830402.42128.freebsd-questions@freebsd.org>
References:  <mailman.109.1470830402.42128.freebsd-questions@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In freebsd-questions Digest, Vol 636, Issue 4, Message: 2
On Tue, 9 Aug 2016 17:23:45 +0300 Aleksander Alekseev <afiskon@devzen.ru> wrote:
 > Hello.
 > 
 > I'm exploring how power consumption could be tuned on FreeBSD 11.0. I
 > discovered a few useful articles, for instance [1]. Also useful pieces
 > of advice were given on IRC. Resulting list is for now like this:
 > 
 > * Use lightweight software (i3, GTK based GUI applications, etc), turn
 >   off unused kernel modules, don't use full disc encryption, etc

You don't need to 'turn off' unused modules, just don't load what you 
don't need :)  More a memory use than power consumption issue?

 > * Reduce CPU frequency (sysctl dev.cpu.0.freq), use powerd to do it
 >   automatically

Yes.  Its default parameters are usually a useful starting point.

 > * Reduce display brightness (sudo pkg install intel-backlight)
 > * Enable power save mode on NIC (sudo ifconfig wlan0 powersave)

Check that your particular NIC works well in powersave mode.

 > * Disable unused USB devices (sudo usbconfig -d X.Y power_off)

This might not win much, at least my webcam device saved maybe 150mW, 
and it wasn't good through suspend / resume without some fiddling.

 > * Reduce clock frequency (kern.hz = 100)

I'm not convinced this wins much, power-wise, any more.  With modern
event counters mechanism - here HPET, one-shot mode - and kern.hz=1000 I 
see no more than 65-75 clock interrupts/s when idle, 2-300/s busy ..
and that's on FreeBSD 9.3.

 > * Make sure your kernel is built without INVARIANTS and WITNESS

You haven't said if this is for a desktop or laptop machine, two very 
different power consumption scenarios.  Mention of [1] would suggest a 
laptop as that's what mav@'s work was focussed on there.

 > Perhaps there are other methods I didn't notice? For instance are there
 > any other sysctl parameters or kernel configuration options worth
 > trying?

Well [1] stresses the importance of using maximum available C-states on 
your hardware.  But except for powerd and C-states where possible, I 
wouldn't bother with all that to save an extra few watts on a desktop. 

 > [1] https://wiki.freebsd.org/TuningPowerConsumption

 > Best regards,
 > Aleksander Alekseev

What hardware?  What OS version?

cheers, Ian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160811015734.D79687>