linrunner / TLP

TLP - Optimize Linux Laptop Battery Life
https://linrunner.de/tlp
GNU General Public License v2.0
2.74k stars 129 forks source link

Hibernate idle servers #254

Closed fabianborg closed 7 years ago

fabianborg commented 7 years ago

I have 9th and 10th Generation Dell PowerEdge Servers running Ubuntu 16.04 lts with NextClound and I wish to power mange such with TLP.

Overall Objective

The overall objective is simple: hibernate the servers past an idle time for example 20 minutes and have such de-hibernated with WOL. Optional, have governor regulate the CPU power, depending on load.

Current unmanaged power consumption

These servers act as cloud based collaboration and data storage that collectively consume an average of 1kw/h (latest power audits) running 24/7. Data availability has been audited as well and is requested to be available: • Winter Schedule: Monday to Friday 8 hours a day, Saturday 4 hours a day • Summer Schedule: Monday to Saturday 6 hours a day • Remote off office working hours connections highly limited maximum 4 hours a week.

TLP to the rescue

Current power consumption 168kw per week i.e. 8760kw per year. Power Management objective is to reduce consumption to 2080kw or even less with TLP, a mean saving of 6680kw per year resulting in a reduction of carbon emissions (footprint) of 6272.09 kilos annually.

Non effective alternatives to TLP

Landscape/cron jobs for scheduled startup and shutdowns, yet these are not effective for hibernation due to remote off office hours connections, that are on the increase. Server bootup consumes more power than a resume form hibernation. CPUs, memory and cooling run at maximum power drag for three minutes per bootup. This is so until BIOS and OS stabilise the effective power consumption.

TLP can really come to an environment rescue at data center level too.

linrunner commented 7 years ago

Hi,

your proposal misses the most crucial point: what is "idle" in a server (your servers)? I don't think there's a simple, common solution for this. TLP (by design) lacks a daemon needed to monitor things – so cannot detect "idle" situations. Besides server features are beyond the scope of TLP.

I suggest to work on a solution specific to your server workloads yourself.