Published Date: 2022/08/20 by: DaVieS
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..
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..