Energy Saving

Published Date: 2022/08/20 by: DaVieS

Energy Saving
Energy Saving

We have been busy since expanding our services worldwide meanwhile in other hand helping reduce CO emission in industrial-scale levels. 

We backing up into our core projects to improve its efficiency and using more low-level APIs such as kqueue, epoll and _ASM calls. These changes are seems a little until we flush it to hundreds of servers.

The current (high) energy prices are a good alarm to help and protect environment by doing some easy tasks.
We already started mass energy saving years before without a reason and the current situation is absolutely not risking our services, we operating at full power with a minimal electricity costs.

How to save power on servers?
The common sense is turn off the lights and turn off devices. - Well done.
There is no option to turn off servers. So what now?


1) Upgrade the war machine


Newer architectures are consuming less energy or have better energy/performance ratio.
There are many better CPUs in the used market (I bet) which is fit into the motherboard, at voilà. 

 

2) Do you really need 512GB of RAM?
Unused RAM modules installed on server is luxury now.

 

 

 



3) Power Saver
Enable Intel SpeedStep or similar, you wont notice anything but that allows the OS to manage power settings.
These are commonly disabled on server OS, because the thing is server should be fast, but this is not equal with we should keep it 100% even its Idling.

FreeBSD has a nice utility to done, POWERD(8). --------->

We are using the config below without performance loss.

powerd_enable="YES"
powerd_flags="-a hiadaptive"

 

4) Tune and Fine Tune

Most Operating Systems comes with default config. Unfortunately 90% of servers are running on default settings, and 99.9% of servers are still have potential for fine-tune.

mySQL, amavisd, amavisd-new, spamassasin, etc...  should be tuned! 

These are the most resource and energy hungry processes on servers and basically running on default settings.


5)  System Tunables

sysctl is a power utility to adjust realtime buffers.
More buffers means less CPU cycles that means less energy used, but too much buffers increasing page moves which could be worse.

Since every OS and Server roles are different there is no common recommendations, experiment is a key.

POWERD(8)               FreeBSD System Manager's Manual              POWERD(8)
NAME
     powerd – system power control utility
SYNOPSIS
     powerd [-a mode] [-b mode] [-i percent] [-M freq] [-m freq] [-N]
            [-n mode] [-P pidfile] [-p ival] [-r percent] [-s source] [-v]
DESCRIPTION
     The powerd utility monitors the system state and sets various power
     control options accordingly.  It offers power-saving modes that can be
     individually selected for operation on AC power or batteries.
     maximum     Choose the highest performance values.  May be abbreviated as
                 max.
     minimum     Choose the lowest performance values to get the most power
                 savings.  May be abbreviated as min.
     adaptive    Attempt to strike a balance by degrading performance when the
                 system appears idle and increasing it when the system is
                 busy.  It offers a good balance between a small performance
                 loss for greatly increased power savings.  May be abbreviated
                 as adp.
     hiadaptive  Like adaptive mode, but tuned for systems where performance
                 and interactivity are more important than power consumption.
                 It increases frequency faster, reduces frequency less
                 aggressively, and will maintain full frequency for longer.
                 May be abbreviated as hadp.
     The default mode is adaptive for battery power and hiadaptive for the
     rest.
     powerd recognizes these runtime options:
     -a mode     Selects the mode to use while on AC power.
     -b mode     Selects the mode to use while on battery power.
     -i percent  Specifies the CPU load percent level when adaptive mode
                 should begin to degrade performance to save power.  The
                 default is 50% or lower.
     -M freq     Specifies the maximum frequency to throttle up to.
     -m freq     Specifies the minimum frequency to throttle down to.
     -N          Treat "nice" time as idle for the purpose of load
                 calculation; i.e., do not increase the CPU frequency if the
                 CPU is only busy with "nice" processes.
     -n mode     Selects the mode to use normally when the AC line state is
                 unknown.
     -P pidfile  Specifies an alternative file in which the process ID should
                 be stored.
     -p ival     Specifies a different polling interval (in milliseconds) for
                 AC line state and system idle levels.  The default is 250 ms.



If you like the article then don't forget to share!


Big Concern: Facebook hack, Google Chrome V8 Hack, Meta Support

Many users experiences that their account leaked through Facebook Advertisement platform.The BOT change their names to Kevin Konkrete Davis and..


Maintenance

We are doing some regular maintenance at 22:00 - 02:00 UTC. Some services might be distrupted at this time. ..


FreeBSD Bhyve Webadmin | BVCP 1.9.8 Just Released

BVCP 1.9.8 features  New protocol to transmit VNC/RFB data as encrypted and compressed.Better, faster and more responsive UI.Colored..


BVCP 1.9.8 Upcoming Features

We received a ton of feedback about our new project, BVCP.So here is a little description what we are working currently. The next release will..


Trackit-PortGuard just released

When implemented well, this software can be considered as two-factor pre-authentication.Therefore this is one of the most secure method to..


2022 annual report

Here we go another year passed away.We very well predicted the importance of energy efficiency. In the year of 2022 we faced a lot of challenges..


A dull attempt to hack into my email from Nigeria.

Seems like this amazing African country has some hacky potential, but so much to learn.The thing why is this attempt worth a blog entry, because..


BVCP 1.9.0 Released Today

A major version update released out today!This update address many requests and improves overall speed and performance. Highlight of this..


MSSQL Fail to start on newer hardware

I recently faced with a strange issue with Microsoft Database Server.I used Bhyve as hypervisor and a Windows as Guest OS, tried to install MSSQL..

All rights reserved nPulse.net 2009 - 2023
Powered by: MVCP 2.0-RC / BVCP / ASPF-MILTER / PHP 7.4 / NGINX / FreeBSD